Details
-
Bug
-
Resolution: Fixed
-
Minor
-
master
-
None
-
Untriaged
-
0
-
Unknown
Description
https://cv.jenkins.couchbase.com/job/kv_engine.threadsanitizer/job/master/25453/consoleFull
The NonNegativeCounters should be atomic or read/written to under a lock.
18:17:15 WARNING: ThreadSanitizer: data race (pid=125276)
|
18:17:15 Write of size 8 at 0x7b44000045c0 by thread T8:
|
18:17:15 #0 cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy>::fetch_sub(long) ../platform/include/platform/non_negative_counter.h:142 (ep_testsuite+0x5b9728)
|
18:17:15 #1 cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy>::operator--() ../platform/include/platform/non_negative_counter.h:175 (ep_testsuite+0x955d7d)
|
18:17:15 #2 BasicLinkedList::purgeListElem(boost::intrusive::list_iterator<boost::intrusive::mhtraits<OrderedStoredValue, boost::intrusive::list_member_hook<>, &OrderedStoredValue::seqno_hook>, false>, bool, bool) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:412 (ep_testsuite+0xa82691)
|
18:17:15 #3 BasicLinkedList::purgeTombstones(long, std::function<bool (DocKey const&, long)>, std::function<bool ()>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:280 (ep_testsuite+0xa82112)
|
18:17:15 #4 EphemeralVBucket::purgeStaleItems(std::function<bool ()>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb.cc:370 (ep_testsuite+0x7f1e70)
|
18:17:15 #5 EphemeralVBucket::StaleItemDeleter::visit(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:202 (ep_testsuite+0x88516e)
|
18:17:15 #6 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&, VBucketFilter*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:2378 (ep_testsuite+0x72602e)
|
18:17:15 #7 EphTombstoneStaleItemDeleter::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:271 (ep_testsuite+0x830832)
|
18:17:15 #8 GlobalTask::execute(std::basic_string_view<char, std::char_traits<char> >) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/globaltask.cc:99 (ep_testsuite+0x54b1d9)
|
18:17:15 #9 FollyExecutorPool::TaskProxy::scheduleViaCPUPool()::{lambda()#2}::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:163
|
18:17:15 Previous read of size 8 at 0x7b44000045c0 by main thread (mutexes: write M3039, write M226441430443240104):
|
18:17:15 #0 cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy>::load() const ../platform/include/platform/non_negative_counter.h:89 (ep_testsuite+0x5b9215)
|
18:17:15 #1 cb::NonNegativeCounter<unsigned long, cb::DefaultUnderflowPolicy>::operator unsigned long() const ../platform/include/platform/non_negative_counter.h:85 (ep_testsuite+0x671b45)
|
18:17:15 #2 BasicLinkedList::getNumStaleItems() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:307 (ep_testsuite+0xa8284c)
|
18:17:15 #3 EphemeralVBucket::CountVisitor::visitBucket(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb_count_visitor.cc:35 (ep_testsuite+0x7f4a96)
|
18:17:15 #4 VBucketStatAggregator::visitBucket(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vb_count_visitor.cc:115 (ep_testsuite+0x6c085b)
|
18:17:15 #5 KVBucket::visit(VBucketVisitor&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:2350 (ep_testsuite+0x725dd3)
|
18:17:15 #6 KVBucket::getAggregatedVBucketStats(BucketStatCollector const&, cb::prometheus::MetricGroup) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:1261 (ep_testsuite+0x71f7ea)
|
18:17:15 #7 EventuallyPersistentEngine::doEngineStatsLowCardinality(BucketStatCollector const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:3021 (ep_testsuite+0x810b15)
|
18:17:15 #8 EventuallyPersistentEngine::doEngineStats(BucketStatCollector const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:2978 (ep_testsuite+0x822ace)
|
18:17:15 #9 EventuallyPersistentEngine::getStats(CookieIface&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::function<void (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, CookieIface&)> const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:4783 (ep_testsuite+0x80dee4)
|
18:17:15 #10 EventuallyPersistentEngine::get_stats(CookieIface&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::function<void (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, CookieIface&)> const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:370 (ep_testsuite+0x80dcea)
|
Attachments
Issue Links
- is caused by
-
MB-54221 Ephemeral: data race with stale item stats seen in unit test
- Closed