Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-59307

TSAN data race in DCPBackfillMemoryBuffered::create() [Ephemeral]

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      TSan reports a data race between creating a backfill and moving the cursor registered during backfill creation back due to dedup in the CM. Looks like a genuine bug.

      [ RUN      ] PersistentAndEphemeral/StreamTest.BackfillOnly/ephemeral
      ==================
      WARNING: ThreadSanitizer: data race (pid=121833)
        Write of size 8 at 0x7b180003b020 by thread T41 (mutexes: read M1146864827625494568, read M1147427468341150056, write M31097968404780088, write M27438845247216384, write M27720079710149856, write M1149397879077470288):
          #0 boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>::operator--() tlm/deps/boost.exploded/include/boost/intrusive/detail/list_iterator.hpp:107 (ep-engine_ep_unit_tests+0x9f76e6)
          #1 boost::container::dtl::iterator_from_iiterator<boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>, false>::operator--() tlm/deps/boost.exploded/include/boost/container/detail/iterators.hpp:872 (ep-engine_ep_unit_tests+0x9f76e6)
          #2 CheckpointIterator<boost::container::list<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, MemoryTrackingAllocator<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy> > > >::moveBackward() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_iterator.h:177 (ep-engine_ep_unit_tests+0x9f76e6)
          #3 CheckpointIterator<boost::container::list<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, MemoryTrackingAllocator<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy> > > >::operator--() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_iterator.h (ep-engine_ep_unit_tests+0x9ef997)
          #4 CheckpointCursor::decrPos() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_cursor.cc:84 (ep-engine_ep_unit_tests+0x9dc8cd)
          #5 Checkpoint::queueDirty(SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> > const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint.cc:244 (ep-engine_ep_unit_tests+0x9dc306)
          #6 CheckpointManager::queueDirty(SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >&, GenerateBySeqno, GenerateCas, PreLinkDocumentContext*, std::function<void (long)>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_manager.cc:916 (ep-engine_ep_unit_tests+0x9e4f8d)
          #7 VBucket::queueItem(SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >&, VBQueueItemCtx const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vbucket.cc:1347 (ep-engine_ep_unit_tests+0x70beae)
          #8 VBucket::queueDirty(HashTable::HashBucketLock const&, StoredValue&, VBQueueItemCtx const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vbucket.cc:1438 (ep-engine_ep_unit_tests+0x70c32c)
          #9 EphemeralVBucket::updateStoredValue(HashTable::HashBucketLock const&, StoredValue&, Item const&, VBQueueItemCtx const&, bool) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb.cc:454 (ep-engine_ep_unit_tests+0x86e219)
          #10 VBucket::processGetAndUpdateTtl(HashTable::HashBucketLock&, StoredValue*, long, Collections::VB::CachingReadHandle const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vbucket.cc:2867 (ep-engine_ep_unit_tests+0x712d02)
          #11 VBucket::getAndUpdateTtl(cb::SharedLockRef<internal::VBucketStateLockTag>, CookieIface*, EventuallyPersistentEngine&, long, Collections::VB::CachingReadHandle const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vbucket.cc:2906 (ep-engine_ep_unit_tests+0x712eeb)
          #12 KVBucket::getAndUpdateTtl(DocKey const&, Vbid, CookieIface*, long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:1884 (ep-engine_ep_unit_tests+0x7a433c)
          #13 EventuallyPersistentEngine::getAndTouchInner(CookieIface&, DocKey const&, Vbid, unsigned int) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:2432 (ep-engine_ep_unit_tests+0x89693a)
          #14 StreamTest_BackfillOnly_Test::TestBody()::$_2::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/dcp_stream_test.cc:799 (ep-engine_ep_unit_tests+0x12124de)
          #15 void std::__invoke_impl<void, StreamTest_BackfillOnly_Test::TestBody()::$_2>(std::__invoke_other, StreamTest_BackfillOnly_Test::TestBody()::$_2&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x121238d)
          #16 std::__invoke_result<StreamTest_BackfillOnly_Test::TestBody()::$_2>::type std::__invoke<StreamTest_BackfillOnly_Test::TestBody()::$_2>(StreamTest_BackfillOnly_Test::TestBody()::$_2&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x12122fd)
          #17 void std::thread::_Invoker<std::tuple<StreamTest_BackfillOnly_Test::TestBody()::$_2> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:264 (ep-engine_ep_unit_tests+0x12122c5)
          #18 std::thread::_Invoker<std::tuple<StreamTest_BackfillOnly_Test::TestBody()::$_2> >::operator()() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:271 (ep-engine_ep_unit_tests+0x1212285)
          #19 std::thread::_State_impl<std::thread::_Invoker<std::tuple<StreamTest_BackfillOnly_Test::TestBody()::$_2> > >::_M_run() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:215 (ep-engine_ep_unit_tests+0x12121b9)
          #20 execute_native_thread_routine /tmp/deploy/objdir/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11//tmp/deploy/objdir/../gcc-13.2.0/libstdc++-v3/src/c++11/thread.cc:104 (libstdc++.so.6+0xe4aa2)
       
        Previous read of size 8 at 0x7b180003b020 by thread T25 (mutexes: write M63467229949872060, read M1146864827625494568, write M45453123497544824):
          #0 boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>::pointed_node() const tlm/deps/boost.exploded/include/boost/intrusive/detail/list_iterator.hpp:82 (ep-engine_ep_unit_tests+0x9c69d7)
          #1 boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>::list_iterator(boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false> const&) tlm/deps/boost.exploded/include/boost/intrusive/detail/list_iterator.hpp:71 (ep-engine_ep_unit_tests+0x9c69d7)
          #2 boost::container::dtl::iterator_from_iiterator<boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>, false>::iterator_from_iiterator(boost::container::dtl::iterator_from_iiterator<boost::intrusive::list_iterator<boost::intrusive::bhtraits<boost::container::base_node<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, boost::container::dtl::list_hook<void*>, false>, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, boost::intrusive::dft_tag, 1u>, false>, false> const&) tlm/deps/boost.exploded/include/boost/container/detail/iterators.hpp:848 (ep-engine_ep_unit_tests+0x9c69d7)
          #3 CheckpointIterator<boost::container::list<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, MemoryTrackingAllocator<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy> > > >::CheckpointIterator(CheckpointIterator<boost::container::list<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, MemoryTrackingAllocator<SingleThreadedRCPtr<Item, Item*, std::default_delete<Item> >, cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy> > > > const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_iterator.h:26 (ep-engine_ep_unit_tests+0x9c69d7)
          #4 CheckpointCursor::getPos() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/checkpoint_cursor.h:102 (ep-engine_ep_unit_tests+0x9be522)
          #5 ActiveStream::registerCursor(CheckpointManager&, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/active_stream.cc:269 (ep-engine_ep_unit_tests+0x9ab4f5)
          #6 ActiveStream::markDiskSnapshot(unsigned long, unsigned long, std::optional<unsigned long>, unsigned long, std::optional<unsigned long>, SnapshotType) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/active_stream.cc:509 (ep-engine_ep_unit_tests+0x9abf47)
          #7 DCPBackfillMemoryBuffered::create() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/backfill_memory.cc:137 (ep-engine_ep_unit_tests+0x97cbde)
          #8 DCPBackfill::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/backfill.cc:44 (ep-engine_ep_unit_tests+0x9b4e66)
          #9 BackfillManager::backfill() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/backfill-manager.cc:325 (ep-engine_ep_unit_tests+0x97ab8d)
          #10 BackfillManagerTask::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/dcp/backfill-manager.cc:79 (ep-engine_ep_unit_tests+0x97a7a0)
          #11 GlobalTask::execute(std::basic_string_view<char, std::char_traits<char> >) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/globaltask.cc:79 (ep-engine_ep_unit_tests+0x1ba8508)
          #12 EpTask::execute(std::basic_string_view<char, std::char_traits<char> >) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_task.cc:43 (ep-engine_ep_unit_tests+0x868510)
          #13 FollyExecutorPool::TaskProxy::scheduleViaCPUPool()::{lambda()#2}::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:163 (ep-engine_ep_unit_tests+0x1bbef68)
          #14 void folly::detail::function::FunctionTraits<void ()>::callSmall<FollyExecutorPool::TaskProxy::scheduleViaCPUPool()::{lambda()#2}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:363 (ep-engine_ep_unit_tests+0x1bbee05)
          #15 folly::detail::function::FunctionTraits<void ()>::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep-engine_ep_unit_tests+0x1bad37c)
          #16 CancellableCPUExecutor::add(GlobalTask*, folly::Function<void ()>)::$_0::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/cancellable_cpu_executor.cc:42 (ep-engine_ep_unit_tests+0x1ba91f0)
          #17 void folly::detail::function::FunctionTraits<void ()>::callSmall<CancellableCPUExecutor::add(GlobalTask*, folly::Function<void ()>)::$_0>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:363 (ep-engine_ep_unit_tests+0x1ba8d35)
          #18 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (ep-engine_ep_unit_tests+0x1f51b62)
          #19 folly::ThreadPoolExecutor::runTask(std::shared_ptr<folly::ThreadPoolExecutor::Thread> const&, folly::ThreadPoolExecutor::Task&&) folly/executors/ThreadPoolExecutor.cpp:98 (ep-engine_ep_unit_tests+0x1f51b62)
          #20 folly::CPUThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) folly/executors/CPUThreadPoolExecutor.cpp:306 (ep-engine_ep_unit_tests+0x1f32295)
          #21 void std::__invoke_impl<void, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:73 (ep-engine_ep_unit_tests+0x1f59124)
          #22 std::__invoke_result<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::type std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x1f58e8d)
          #23 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/functional:416 (ep-engine_ep_unit_tests+0x1f58e8d)
          #24 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::operator()<, void>() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/functional:499 (ep-engine_ep_unit_tests+0x1f58e8d)
          #25 void folly::detail::function::FunctionTraits<void ()>::callSmall<std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) folly/Function.h:363 (ep-engine_ep_unit_tests+0x1f58e8d)
          #26 folly::detail::function::FunctionTraits<void ()>::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep-engine_ep_unit_tests+0x1bad37c)
          #27 CBRegisteredThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}::operator()() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:49 (ep-engine_ep_unit_tests+0x1bb3b32)
          #28 void folly::detail::function::FunctionTraits<void ()>::callBig<CBRegisteredThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:377 (ep-engine_ep_unit_tests+0x1bb3a3d)
          #29 folly::detail::function::FunctionTraits<void ()>::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep-engine_ep_unit_tests+0x1bad37c)
          #30 folly::PriorityThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/PriorityThreadFactory.h:52 (ep-engine_ep_unit_tests+0x1bb6b28)
          #31 void folly::detail::function::FunctionTraits<void ()>::callBig<folly::PriorityThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:377 (ep-engine_ep_unit_tests+0x1bb69dd)
          #32 folly::detail::function::FunctionTraits<void ()>::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep-engine_ep_unit_tests+0x1bad37c)
          #33 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:40 (ep-engine_ep_unit_tests+0x1bb6453)
          #34 void std::__invoke_impl<void, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x1bb63fd)
          #35 std::__invoke_result<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>::type std::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_result&&, (folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&)...) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x1bb636d)
          #36 void std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:264 (ep-engine_ep_unit_tests+0x1bb6335)
          #37 std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::operator()() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:271 (ep-engine_ep_unit_tests+0x1bb62f5)
          #38 std::thread::_State_impl<std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> > >::_M_run() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:215 (ep-engine_ep_unit_tests+0x1bb61b9)
          #39 execute_native_thread_routine /tmp/deploy/objdir/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11//tmp/deploy/objdir/../gcc-13.2.0/libstdc++-v3/src/c++11/thread.cc:104 (libstdc++.so.6+0xe4aa2) 

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              owend Daniel Owen
              vesko.karaganev Vesko Karaganev
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty