Details
-
Bug
-
Resolution: Fixed
-
Minor
-
3.1.6
-
Untriaged
-
Unknown
Description
This issue was reported during commit-validation for a patch destined for 3.1.6 (http://review.couchbase.org/#/c/64207/)
WARNING: ThreadSanitizer: data race (pid=94198)
|
Write of size 8 at 0x7d1000017fd8 by thread T14 (mutexes: write M15079):
|
#0 CouchKVStore::saveDocs(unsigned short, unsigned long, _doc**, _docinfo**, unsigned long, KVStatsCtx&, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/couch-kvstore/couch-kvstore.cc:1804 (ep.so+0x000000325c3a)
|
#1 CouchKVStore::commit2couchstore(Callback<KVStatsCtx>*, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/couch-kvstore/couch-kvstore.cc:1669 (ep.so+0x00000031f94f)
|
#2 CouchKVStore::commit(Callback<KVStatsCtx>*, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/couch-kvstore/couch-kvstore.cc:1080 (ep.so+0x00000031f247)
|
#3 EventuallyPersistentStore::flushVBucket(unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/ep.cc:2790 (ep.so+0x0000000edbce)
|
#4 Flusher::flushVB() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/flusher.cc:281 (ep.so+0x0000001ced95)
|
#5 Flusher::step(GlobalTask*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/flusher.cc:173 (ep.so+0x0000001cdce0)
|
#6 FlusherTask::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/tasks.cc:45 (ep.so+0x000000251ffe)
|
...
|
|
Previous read of size 8 at 0x7d1000017fd8 by thread T15:
|
#0 CouchKVStore::getLastPersistedSeqno(unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/couch-kvstore/couch-kvstore.cc:1091 (ep.so+0x00000031fe25)
|
#1 DCPBackfill::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/dcp-stream.cc:149 (ep.so+0x00000028e590)
|
|
Location is heap block of size 64 at 0x7d1000017fc0 allocated by thread T8:
|
#0 operator new(unsigned long) <null> (engine_testapp+0x00000045c6ed)
|
#1 CouchKVStore::snapshotVBucket(unsigned short, vbucket_state&, Callback<KVStatsCtx>*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/couch-kvstore/couch-kvstore.cc:888 (ep.so+0x00000031b7f4)
|
#2 EventuallyPersistentStore::snapshotVBuckets(Priority const&, unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/ep.cc:970 (ep.so+0x0000000da799)
|
#3 VBSnapshotTask::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-3.0.x/ep-engine/src/tasks.cc:49 (ep.so+0x0000002520be)
|
Two threads are both accessing state->highSeqno without a lock (or highSeqno being atomic).
Attachments
Issue Links
- blocks
-
MB-19323 3.1.6 release
- Closed