Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.1.4
-
Untriaged
-
Unknown
Description
As identified by TSan (see below).
The data race looks benign - it is only used to generate the %s:stream_%d_state stat, which isn't used by ns_server or similar, only end-users.
WARNING: ThreadSanitizer: data race (pid=14482)
|
Read of size 4 at 0x7d5000018050 by main thread (mutexes: write M23797, write M969):
|
#0 Stream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:265 (ep.so+0x000000292367)
|
#1 PassiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:1505 (ep.so+0x0000002a060b)
|
#2 DcpConsumer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-consumer.cc:555 (ep.so+0x00000026eba7)
|
|
Previous write of size 4 at 0x7d5000018050 by thread T17 (mutexes: write M23760):
|
#0 PassiveStream::transitionState(stream_state_t) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:1588 (ep.so+0x00000029ca71)
|
#1 PassiveStream::processBufferedMessages(unsigned int&) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:1297 (ep.so+0x00000029e3a0)
|
#2 DcpConsumer::processBufferedItems() /home/daver/repos/couchbase/server/ep-engine/src/dcp-consumer.cc:599 (ep.so+0x000000264b29)
|
#3 Processer::run() /home/daver/repos/couchbase/server/ep-engine/src/dcp-consumer.cc:48 (ep.so+0x00000026472f)
|
Note: already fixed in watson: http://review.couchbase.org/56502
Attachments
Issue Links
- blocks
-
MB-19323 3.1.6 release
- Closed
For Gerrit Dashboard: MB-19275 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
63027,6 | MB-19275: Address data race on a DCP stream's state | 3.0.x | ep-engine | Status: MERGED | +2 | +1 |
65187,3 | Merge remote-tracking branch 'couchbase/3.0.x' into sherlock | sherlock | ep-engine | Status: MERGED | +2 | +1 |
66013,3 | Merge commit 'couchbase/sherlock' into 'couchbase/watson' | watson | ep-engine | Status: ABANDONED | 0 | -1 |
66060,5 | Merge remote-tracking branch 'couchbase/sherlock' into 'couchbase/watson' | watson | ep-engine | Status: MERGED | +2 | +1 |