khizmax/libcds

assert on exit

Closed this issue · 3 comments

Hello, i init and deinit cds on the same thread, i attach my other threads to cds with attach method, by i still get assert on exit here:
CDS_EXPORT_API void smr::help_scan( thread_data* pThis ) { assert( static_cast<thread_record*>( pThis )->m_idOwner.load( atomics::memory_order_relaxed ) == cds::OS::get_current_thread_id() );
in DHP.cpp on line 460 in ~DHP()

I use various moirqueue and stacks on different threads and i make sure to attach to them, why do i get that assert?(i validated that get_current_thread_id() is the same when i init and deinit)

version: latest git build
ide: visual studio 2015

Hi,
I think this is a redundant assert and should be removed.
Thanks!

thank you

Dear,

I think the same problem exists in HP too. I have the same error, and i detached all threads.

Assertion failed: (static_cast<thread_record*>( pThis )->m_idOwner.load( atomics::memory_order_relaxed ) == cds::OS::get_current_thread_id()), function help_scan, file /isp/dev_eics/dependencies/cds/libcds-2.3.2/src/hp.cpp, line 443.

Thank you