You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ItemPager::phase is accessed by multiple threads (when different
vbuckets are being processed by different executors), so it needs to
be atomic.
As reported by ThreadSanitizer:
WARNING: ThreadSanitizer: data race (pid=180366)
Read of size 4 at 0x7d1c0000d650 by thread T18 (mutexes: write M18437):
#0 PagingVisitor::visit(StoredValue*) ep-engine/src/item_pager.cc:86 (ep.so+0x000000107734)
#1 HashTable::visit(HashTableVisitor&) ep-engine/src/stored-value.cc:475 (ep.so+0x00000011d1b8)
#2 VBCBAdaptor::run() ep-engine/src/ep.cc:3929 (ep.so+0x0000000a3c2f)
#3 ExecutorThread::run() ep-engine/src/executorthread.cc:115 (ep.so+0x0000000fb086)
Previous write of size 4 at 0x7d1c0000d650 by thread T17:
#0 PagingVisitor::complete() ep-engine/src/item_pager.cc:179 (ep.so+0x000000108004)
#1 VBCBAdaptor::run() ep-engine/src/ep.cc:3937 (ep.so+0x0000000a3d7e)
#2 ExecutorThread::run() ep-engine/src/executorthread.cc:115 (ep.so+0x0000000fb086)
Change-Id: I9652a9f7f36f18967b6ec5903db53f3c7fb917fe
Reviewed-on: http://review.couchbase.org/64161
Tested-by: buildbot <[email protected]>
Well-Formed: buildbot <[email protected]>
Reviewed-by: Will Gardner <[email protected]>
0 commit comments