|
tests/test_iostream.py |
|
==4444== ---Thread-Announcement------------------------------------------ |
|
==4444== |
|
==4444== Thread #3 was created |
|
==4444== at 0x4F7C282: clone (in /usr/lib/libc-2.32.so) |
|
==4444== by 0x4D0F2D1: create_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4D10C10: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4841687: pthread_create_WRK (hg_intercepts.c:425) |
|
==4444== by 0x8022EF9: __gthread_create (gthr-default.h:663) |
|
==4444== by 0x8022EF9: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (thread.cc:135) |
|
==4444== by 0x77D6369: std::thread::thread<TestThread::TestThread()::{lambda()#1}, , void>(TestThread::TestThread()::{lambda()#1}&&) (thread:149) |
|
==4444== by 0x77D5742: TestThread::TestThread() (test_iostream.cpp:43) |
|
==4444== by 0x77D90D9: TestThread* pybind11::detail::initimpl::construct_or_initialize<TestThread, , 0>() (init.h:61) |
|
==4444== by 0x77D7714: void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}::operator()(pybind11::detail::value_and_holder&) const (init.h:175) |
|
==4444== by 0x77DCC88: void pybind11::detail::argument_loader<pybind11::detail::value_and_holder&>::call_impl<void, void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&, 0ul, pybind11::detail::void_type>(void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77DC633: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::value_and_holder&>::call<void, pybind11::detail::void_type, void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&>(void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&) && (cast.h:1999) |
|
==4444== by 0x77DBC02: void pybind11::cpp_function::initialize<void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}, void, pybind11::detail::value_and_holder&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<TestThread>&&, void (*)(pybind11::detail::value_and_holder&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== |
|
==4444== ---Thread-Announcement------------------------------------------ |
|
==4444== |
|
==4444== Thread #2 was created |
|
==4444== at 0x4F7C282: clone (in /usr/lib/libc-2.32.so) |
|
==4444== by 0x4D0F2D1: create_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4D10C10: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4841687: pthread_create_WRK (hg_intercepts.c:425) |
|
==4444== by 0x8022EF9: __gthread_create (gthr-default.h:663) |
|
==4444== by 0x8022EF9: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (thread.cc:135) |
|
==4444== by 0x77D6369: std::thread::thread<TestThread::TestThread()::{lambda()#1}, , void>(TestThread::TestThread()::{lambda()#1}&&) (thread:149) |
|
==4444== by 0x77D5742: TestThread::TestThread() (test_iostream.cpp:43) |
|
==4444== by 0x77D90D9: TestThread* pybind11::detail::initimpl::construct_or_initialize<TestThread, , 0>() (init.h:61) |
|
==4444== by 0x77D7714: void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}::operator()(pybind11::detail::value_and_holder&) const (init.h:175) |
|
==4444== by 0x77DCC88: void pybind11::detail::argument_loader<pybind11::detail::value_and_holder&>::call_impl<void, void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&, 0ul, pybind11::detail::void_type>(void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77DC633: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::value_and_holder&>::call<void, pybind11::detail::void_type, void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&>(void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}&) && (cast.h:1999) |
|
==4444== by 0x77DBC02: void pybind11::cpp_function::initialize<void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<TestThread>, , 0>(pybind11::class_<TestThread>&)::{lambda(pybind11::detail::value_and_holder&)#1}, void, pybind11::detail::value_and_holder&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<TestThread>&&, void (*)(pybind11::detail::value_and_holder&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x812D498 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x8080CA4: width (ios_base.h:720) |
|
==4444== by 0x8080CA4: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:87) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== by 0x4D103E8: start_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4F7C292: clone (in /usr/lib/libc-2.32.so) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x8080D56: width (ios_base.h:731) |
|
==4444== by 0x8080D56: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:102) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== Address 0x812d498 is 24 bytes inside data symbol "_ZSt4cout" |
|
==4444== |
|
==4444== ---Thread-Announcement------------------------------------------ |
|
==4444== |
|
==4444== Thread #1 is the program's root thread |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x68560F8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x808F978: pptr (streambuf:539) |
|
==4444== by 0x808F978: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:85) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== by 0x4D103E8: start_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x808F9A1: __safe_pbump (streambuf:807) |
|
==4444== by 0x808F9A1: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:93) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== Address 0x68560f8 is 56 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 8 at 0x68560F8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x808F9A1: __safe_pbump (streambuf:807) |
|
==4444== by 0x808F9A1: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:93) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== by 0x4D103E8: start_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x808F9A1: __safe_pbump (streambuf:807) |
|
==4444== by 0x808F9A1: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:93) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== Address 0x68560f8 is 56 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 8 at 0x812D498 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x8080D56: width (ios_base.h:731) |
|
==4444== by 0x8080D56: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:102) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== by 0x4D103E8: start_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x4F7C292: clone (in /usr/lib/libc-2.32.so) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x8080D56: width (ios_base.h:731) |
|
==4444== by 0x8080D56: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:102) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== Address 0x812d498 is 24 bytes inside data symbol "_ZSt4cout" |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Lock at 0x4CCD110 was first observed |
|
==4444== at 0x4842AF9: pthread_mutex_init (hg_intercepts.c:785) |
|
==4444== by 0x4A4E15A: create_gil (ceval_gil.h:107) |
|
==4444== by 0x4A52D08: _PyEval_InitGIL (ceval.c:285) |
|
==4444== by 0x4A9F7C7: init_interp_create_gil (pylifecycle.c:536) |
|
==4444== by 0x4A9F8EE: pycore_create_interpreter (pylifecycle.c:566) |
|
==4444== by 0x4AA164D: pyinit_config (pylifecycle.c:760) |
|
==4444== by 0x4AA3970: pyinit_core (pylifecycle.c:927) |
|
==4444== by 0x4AA3AE1: Py_InitializeFromConfig (pylifecycle.c:1134) |
|
==4444== by 0x4ACAD28: pymain_init (main.c:66) |
|
==4444== by 0x4ACC12F: pymain_main (main.c:698) |
|
==4444== by 0x4ACC206: Py_BytesMain (main.c:731) |
|
==4444== by 0x109141: main (python.c:15) |
|
==4444== Address 0x4ccd110 is 432 bytes inside data symbol "_PyRuntime" |
|
==4444== |
|
==4444== Lock at 0x4CCD168 was first observed |
|
==4444== at 0x4842AF9: pthread_mutex_init (hg_intercepts.c:785) |
|
==4444== by 0x4A4E16F: create_gil (ceval_gil.h:109) |
|
==4444== by 0x4A52D08: _PyEval_InitGIL (ceval.c:285) |
|
==4444== by 0x4A9F7C7: init_interp_create_gil (pylifecycle.c:536) |
|
==4444== by 0x4A9F8EE: pycore_create_interpreter (pylifecycle.c:566) |
|
==4444== by 0x4AA164D: pyinit_config (pylifecycle.c:760) |
|
==4444== by 0x4AA3970: pyinit_core (pylifecycle.c:927) |
|
==4444== by 0x4AA3AE1: Py_InitializeFromConfig (pylifecycle.c:1134) |
|
==4444== by 0x4ACAD28: pymain_init (main.c:66) |
|
==4444== by 0x4ACC12F: pymain_main (main.c:698) |
|
==4444== by 0x4ACC206: Py_BytesMain (main.c:731) |
|
==4444== by 0x109141: main (python.c:15) |
|
==4444== Address 0x4ccd168 is 520 bytes inside data symbol "_PyRuntime" |
|
==4444== |
|
==4444== Possible data race during read of size 4 at 0x4CCD0D0 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x4A4E140: gil_created (ceval_gil.h:102) |
|
==4444== by 0x4A52825: take_gil (ceval_gil.h:234) |
|
==4444== by 0x4A52DB6: PyEval_AcquireThread (ceval.c:385) |
|
==4444== by 0x76191C7: pybind11::gil_scoped_acquire::gil_scoped_acquire() (pybind11.h:2126) |
|
==4444== by 0x77D4ADC: pybind11::detail::pythonbuf::_sync() (iostream.h:48) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 4 by thread #2 |
|
==4444== Locks held: 2, at addresses 0x4CCD110 0x4CCD168 |
|
==4444== at 0x4A52871: take_gil (ceval_gil.h:272) |
|
==4444== by 0x4A52DB6: PyEval_AcquireThread (ceval.c:385) |
|
==4444== by 0x76191C7: pybind11::gil_scoped_acquire::gil_scoped_acquire() (pybind11.h:2126) |
|
==4444== by 0x77D4ADC: pybind11::detail::pythonbuf::_sync() (iostream.h:48) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== Address 0x4ccd0d0 is 368 bytes inside data symbol "_PyRuntime" |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x68560F8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x8090194: std::basic_streambuf<char, std::char_traits<char> >::pptr() const (streambuf:539) |
|
==4444== by 0x77D4AE8: pybind11::detail::pythonbuf::_sync() (iostream.h:51) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C4: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f8 is 56 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x68560F0 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x8090184: std::basic_streambuf<char, std::char_traits<char> >::pbase() const (streambuf:536) |
|
==4444== by 0x77D4AF7: pybind11::detail::pythonbuf::_sync() (iostream.h:51) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C8: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f0 is 48 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 1 at 0x6539080 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x49FCEB0: unicode_decode_utf8 (unicodeobject.c:4995) |
|
==4444== by 0x49FD6FB: PyUnicode_DecodeUTF8Stateful (unicodeobject.c:5135) |
|
==4444== by 0x49FD71D: PyUnicode_FromStringAndSize (unicodeobject.c:2267) |
|
==4444== by 0x760A7B2: pybind11::str::str(char const*, unsigned long) (pytypes.h:940) |
|
==4444== by 0x77D4B24: pybind11::detail::pythonbuf::_sync() (iostream.h:51) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 1 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x4844843: memcpy@GLIBC_2.2.5 (vg_replace_strmem.c:1032) |
|
==4444== by 0x808F9A0: copy (char_traits.h:395) |
|
==4444== by 0x808F9A0: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:90) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x6539080 is 0 bytes inside a block of size 1,024 alloc'd |
|
==4444== at 0x483C55F: operator new[](unsigned long) (vg_replace_malloc.c:431) |
|
==4444== by 0x77D4C81: pybind11::detail::pythonbuf::pythonbuf(pybind11::object, unsigned long) (iostream.h:70) |
|
==4444== by 0x77D4ED6: pybind11::scoped_ostream_redirect::scoped_ostream_redirect(std::ostream&, pybind11::object) (iostream.h:121) |
|
==4444== by 0x77D5135: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Thread #3: pthread_cond_{signal,broadcast}: associated lock is not held by calling thread |
|
==4444== at 0x483F356: pthread_cond_signal_WRK (hg_intercepts.c:1382) |
|
==4444== by 0x4D16A7D: pthread_cond_timedwait@@GLIBC_2.3.2 (in /usr/lib/libpthread-2.32.so) |
|
==4444== by 0x48424F4: pthread_cond_timedwait_WRK.constprop.0 (hg_intercepts.c:1293) |
|
==4444== by 0x4A529A8: PyCOND_TIMEDWAIT (condvar.h:73) |
|
==4444== by 0x4A529A8: take_gil (ceval_gil.h:247) |
|
==4444== by 0x4A52DB6: PyEval_AcquireThread (ceval.c:385) |
|
==4444== by 0x76191C7: pybind11::gil_scoped_acquire::gil_scoped_acquire() (pybind11.h:2126) |
|
==4444== by 0x77D4ADC: pybind11::detail::pythonbuf::_sync() (iostream.h:48) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x6856100 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901A4: std::basic_streambuf<char, std::char_traits<char> >::epptr() const (streambuf:542) |
|
==4444== by 0x77D4B96: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x80901CC: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:565) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x6856100 is 64 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x68560F0 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x8090184: std::basic_streambuf<char, std::char_traits<char> >::pbase() const (streambuf:536) |
|
==4444== by 0x77D4BA5: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C8: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f0 is 48 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 8 at 0x68560F8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C4: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C4: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f8 is 56 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 8 at 0x68560F0 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C8: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C8: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f0 is 48 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 8 at 0x6856100 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901CC: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:565) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x80901CC: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:565) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x6856100 is 64 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x6856100 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x808F97C: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:86) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== by 0x4D103E8: start_thread (in /usr/lib/libpthread-2.32.so) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901CC: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:565) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x6856100 is 64 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during read of size 8 at 0x68560F0 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x8090184: std::basic_streambuf<char, std::char_traits<char> >::pbase() const (streambuf:536) |
|
==4444== by 0x77D4AB3: pybind11::detail::pythonbuf::_sync() (iostream.h:45) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 8 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x80901C8: std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*) (streambuf:564) |
|
==4444== by 0x77D4BB3: pybind11::detail::pythonbuf::_sync() (iostream.h:57) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== Address 0x68560f0 is 48 bytes inside a block of size 112 alloc'd |
|
==4444== at 0x483BE3F: operator new(unsigned long) (vg_replace_malloc.c:342) |
|
==4444== by 0x77D511C: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== by 0x4944C02: _PyObject_VectorcallTstate (abstract.h:116) |
|
==4444== by 0x4944C02: method_vectorcall (classobject.c:61) |
|
==4444== by 0x4A5DCCE: _PyObject_VectorcallTstate (abstract.h:118) |
|
==4444== by 0x4A5DCCE: _PyObject_CallNoArg (abstract.h:172) |
|
==4444== by 0x4A5DCCE: _PyEval_EvalFrameDefault (ceval.c:3387) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Possible data race during write of size 1 at 0x6539080 by thread #3 |
|
==4444== Locks held: none |
|
==4444== at 0x4844843: memcpy@GLIBC_2.2.5 (vg_replace_strmem.c:1032) |
|
==4444== by 0x808F9A0: copy (char_traits.h:395) |
|
==4444== by 0x808F9A0: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (streambuf.tcc:90) |
|
==4444== by 0x8080DA3: sputn (streambuf:458) |
|
==4444== by 0x8080DA3: __ostream_write<char, std::char_traits<char> > (ostream_insert.h:50) |
|
==4444== by 0x8080DA3: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (ostream_insert.h:101) |
|
==4444== by 0x808115D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (ostream:611) |
|
==4444== by 0x77D5680: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== by 0x77DD12D: void std::__invoke_impl<void, TestThread::TestThread()::{lambda()#1}>(std::__invoke_other, TestThread::TestThread()::{lambda()#1}&&) (invoke.h:60) |
|
==4444== by 0x77DD0E2: std::__invoke_result<TestThread::TestThread()::{lambda()#1}>::type std::__invoke<TestThread::TestThread()::{lambda()#1}>(std::__invoke_result&&, (TestThread::TestThread()::{lambda()#1}&&)...) (invoke.h:95) |
|
==4444== by 0x77DD08F: void std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:264) |
|
==4444== by 0x77DD063: std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> >::operator()() (thread:271) |
|
==4444== by 0x77DD047: std::thread::_State_impl<std::thread::_Invoker<std::tuple<TestThread::TestThread()::{lambda()#1}> > >::_M_run() (thread:215) |
|
==4444== by 0x8022C23: execute_native_thread_routine (thread.cc:80) |
|
==4444== by 0x4841886: mythread_wrapper (hg_intercepts.c:387) |
|
==4444== |
|
==4444== This conflicts with a previous read of size 1 by thread #2 |
|
==4444== Locks held: none |
|
==4444== at 0x49FCEB0: unicode_decode_utf8 (unicodeobject.c:4995) |
|
==4444== by 0x49FD6FB: PyUnicode_DecodeUTF8Stateful (unicodeobject.c:5135) |
|
==4444== by 0x49FD71D: PyUnicode_FromStringAndSize (unicodeobject.c:2267) |
|
==4444== by 0x760A7B2: pybind11::str::str(char const*, unsigned long) (pytypes.h:940) |
|
==4444== by 0x77D4B24: pybind11::detail::pythonbuf::_sync() (iostream.h:51) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== by 0x807FD82: pubsync (streambuf:278) |
|
==4444== by 0x807FD82: std::ostream::flush() (ostream.tcc:219) |
|
==4444== by 0x77D5695: TestThread::TestThread()::{lambda()#1}::operator()() const (test_iostream.cpp:40) |
|
==4444== Address 0x6539080 is 0 bytes inside a block of size 1,024 alloc'd |
|
==4444== at 0x483C55F: operator new[](unsigned long) (vg_replace_malloc.c:431) |
|
==4444== by 0x77D4C81: pybind11::detail::pythonbuf::pythonbuf(pybind11::object, unsigned long) (iostream.h:70) |
|
==4444== by 0x77D4ED6: pybind11::scoped_ostream_redirect::scoped_ostream_redirect(std::ostream&, pybind11::object) (iostream.h:121) |
|
==4444== by 0x77D5135: pybind11::detail::OstreamRedirect::enter() (iostream.h:171) |
|
==4444== by 0x77D70BC: pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}::operator()(pybind11::detail::OstreamRedirect*) const (pybind11.h:84) |
|
==4444== by 0x77DB1E6: void pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call_impl<void, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77D9D29: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::OstreamRedirect*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&>(pybind11::cpp_function::cpp_function<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D7E34: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D7F46: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}, void, pybind11::detail::OstreamRedirect*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, pybind11::detail::OstreamRedirect, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (pybind11::detail::OstreamRedirect::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::OstreamRedirect*)#1}&&, void (*)(pybind11::detail::OstreamRedirect*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== by 0x4941463: _PyObject_MakeTpCall (call.c:191) |
|
==4444== Block was alloc'd by thread #1 |
|
==4444== |
|
==4444== ---------------------------------------------------------------- |
|
==4444== |
|
==4444== Lock at 0x4CCD110 was first observed |
|
==4444== at 0x4842AF9: pthread_mutex_init (hg_intercepts.c:785) |
|
==4444== by 0x4A4E15A: create_gil (ceval_gil.h:107) |
|
==4444== by 0x4A52D08: _PyEval_InitGIL (ceval.c:285) |
|
==4444== by 0x4A9F7C7: init_interp_create_gil (pylifecycle.c:536) |
|
==4444== by 0x4A9F8EE: pycore_create_interpreter (pylifecycle.c:566) |
|
==4444== by 0x4AA164D: pyinit_config (pylifecycle.c:760) |
|
==4444== by 0x4AA3970: pyinit_core (pylifecycle.c:927) |
|
==4444== by 0x4AA3AE1: Py_InitializeFromConfig (pylifecycle.c:1134) |
|
==4444== by 0x4ACAD28: pymain_init (main.c:66) |
|
==4444== by 0x4ACC12F: pymain_main (main.c:698) |
|
==4444== by 0x4ACC206: Py_BytesMain (main.c:731) |
|
==4444== by 0x109141: main (python.c:15) |
|
==4444== Address 0x4ccd110 is 432 bytes inside data symbol "_PyRuntime" |
|
==4444== |
|
==4444== Possible data race during read of size 4 at 0x4CCD0D0 by thread #1 |
|
==4444== Locks held: none |
|
==4444== at 0x4A4E140: gil_created (ceval_gil.h:102) |
|
==4444== by 0x4A52825: take_gil (ceval_gil.h:234) |
|
==4444== by 0x4A53111: PyEval_RestoreThread (ceval.c:467) |
|
==4444== by 0x76A26D1: pybind11::gil_scoped_release::~gil_scoped_release() (pybind11.h:2205) |
|
==4444== by 0x77D58BE: TestThread::sleep() (test_iostream.cpp:58) |
|
==4444== by 0x77D77FE: pybind11::cpp_function::cpp_function<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}::operator()(TestThread*) const (pybind11.h:84) |
|
==4444== by 0x77DBF54: void pybind11::detail::argument_loader<TestThread*>::call_impl<void, pybind11::cpp_function::cpp_function<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&, 0ul, pybind11::detail::void_type>(pybind11::cpp_function::cpp_function<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&, std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (cast.h:2022) |
|
==4444== by 0x77DABC1: std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<TestThread*>::call<void, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&>(pybind11::cpp_function::cpp_function<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&) && (cast.h:1999) |
|
==4444== by 0x77D9326: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}, void, TestThread*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&&, void (*)(TestThread*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (pybind11.h:186) |
|
==4444== by 0x77D9438: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}, void, TestThread*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, TestThread, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (TestThread::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(TestThread*)#1}&&, void (*)(TestThread*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (pybind11.h:163) |
|
==4444== by 0x761641F: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:751) |
|
==4444== by 0x499413D: cfunction_call (methodobject.c:539) |
|
==4444== |
|
==4444== This conflicts with a previous write of size 4 by thread #3 |
|
==4444== Locks held: 1, at address 0x4CCD110 |
|
==4444== at 0x4A4F5A4: drop_gil (ceval_gil.h:162) |
|
==4444== by 0x4A526BF: _PyEval_ReleaseLock (ceval.c:377) |
|
==4444== by 0x4AA579A: _PyThreadState_DeleteCurrent (pystate.c:894) |
|
==4444== by 0x4AA57CC: PyThreadState_DeleteCurrent (pystate.c:903) |
|
==4444== by 0x76192A6: pybind11::gil_scoped_acquire::dec_ref() (pybind11.h:2151) |
|
==4444== by 0x76192E3: pybind11::gil_scoped_acquire::~gil_scoped_acquire() (pybind11.h:2167) |
|
==4444== by 0x77D4B86: pybind11::detail::pythonbuf::_sync() (iostream.h:48) |
|
==4444== by 0x77D4C1B: pybind11::detail::pythonbuf::sync() (iostream.h:63) |
|
==4444== Address 0x4ccd0d0 is 368 bytes inside data symbol "_PyRuntime" |