Skip to content

Instantly share code, notes, and snippets.

@rwtolbert
Created October 30, 2019 00:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rwtolbert/9f7a360a6d6206c05ebaf2dace847a33 to your computer and use it in GitHub Desktop.
Save rwtolbert/9f7a360a6d6206c05ebaf2dace847a33 to your computer and use it in GitHub Desktop.
one more sanitizer warning
WARNING: ThreadSanitizer: data race (pid=64090)
Read of size 4 at 0x7b4400001500 by thread T8:
#0 oatpp::async::Processor::pushQueues() Processor.cpp:176 (oatppAllTests:x86_64+0x10042837f)
#1 oatpp::async::Processor::iterate(int) Processor.cpp:205 (oatppAllTests:x86_64+0x100428767)
#2 oatpp::async::Executor::SubmissionProcessor::run() Executor.cpp:50 (oatppAllTests:x86_64+0x10040cca9)
#3 decltype(*(std::__1::forward<oatpp::async::Executor::SubmissionProcessor*>(fp0)).*fp()) std::__1::__invoke<void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*, void>(void (oatpp::async::Executor::SubmissionProcessor::*&&)(), oatpp::async::Executor::SubmissionProcessor*&&) type_traits:4280 (oatppAllTests:x86_64+0x10041645b)
#4 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*>&, std::__1::__tuple_indices<2ul>) thread:342 (oatppAllTests:x86_64+0x100416221)
#5 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*> >(void*) thread:352 (oatppAllTests:x86_64+0x100415319)
Previous write of size 4 at 0x7b4400001500 by thread T11:
#0 oatpp::collection::FastQueue<oatpp::async::CoroutineHandle>::pushBack(oatpp::async::CoroutineHandle*) FastQueue.hpp:69 (oatppAllTests:x86_64+0x10040c493)
#1 oatpp::async::Processor::pushOneTask(oatpp::async::CoroutineHandle*) Processor.cpp:114 (oatppAllTests:x86_64+0x1004276d4)
#2 oatpp::async::CoroutineWaitList::notifyFirst() CoroutineWaitList.cpp:69 (oatppAllTests:x86_64+0x10040c55a)
#3 oatpp::async::Lock::unlock() Lock.cpp:68 (oatppAllTests:x86_64+0x10042486e)
#4 oatpp::async::LockGuard::unlock() Lock.cpp:159 (oatppAllTests:x86_64+0x100425178)
#5 oatpp::test::async::(anonymous namespace)::TestCoroutine::writeSymbol() LockTest.cpp:79 (oatppAllTests:x86_64+0x10000f926)
#6 oatpp::async::Coroutine<oatpp::test::async::(anonymous namespace)::TestCoroutine>::call(oatpp::async::Action (oatpp::async::AbstractCoroutine::* const&)()) Coroutine.hpp:570 (oatppAllTests:x86_64+0x10000f5f8)
#7 oatpp::async::CoroutineHandle::iterate() Coroutine.cpp:302 (oatppAllTests:x86_64+0x10040b518)
#8 oatpp::async::CoroutineHandle::iterateAndTakeAction() Coroutine.cpp:311 (oatppAllTests:x86_64+0x10040b72e)
#9 oatpp::async::Processor::iterate(int) Processor.cpp:218 (oatppAllTests:x86_64+0x10042881f)
#10 oatpp::async::Executor::SubmissionProcessor::run() Executor.cpp:50 (oatppAllTests:x86_64+0x10040cca9)
#11 decltype(*(std::__1::forward<oatpp::async::Executor::SubmissionProcessor*>(fp0)).*fp()) std::__1::__invoke<void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*, void>(void (oatpp::async::Executor::SubmissionProcessor::*&&)(), oatpp::async::Executor::SubmissionProcessor*&&) type_traits:4280 (oatppAllTests:x86_64+0x10041645b)
#12 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*>&, std::__1::__tuple_indices<2ul>) thread:342 (oatppAllTests:x86_64+0x100416221)
#13 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (oatpp::async::Executor::SubmissionProcessor::*)(), oatpp::async::Executor::SubmissionProcessor*> >(void*) thread:352 (oatppAllTests:x86_64+0x100415319)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment