Details
-
Bug
-
Resolution: Fixed
-
Major
-
4.5.0
-
None
-
Untriaged
-
Unknown
-
KV: Mar 30 - April 12
Description
I have not looked at it at all, just occurred on a test timeout change
http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-watson/319/
1
|
00:11:05.579 ==================
|
2
|
00:11:05.579 WARNING: ThreadSanitizer: data race (pid=64147)
|
3
|
00:11:05.579 Read of size 4 at 0x7d480000b9d4 by thread T11 (mutexes: write M13543, read M17306):
|
4
|
00:11:05.579 #0 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/stream.cc:545 (ep.so+0x000000076f03)
|
5
|
00:11:05.579 #1 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/producer.cc:710 (ep.so+0x00000006b1d7)
|
6
|
00:11:05.579 #2 ConnStatBuilder::operator()(SingleThreadedRCPtr<ConnHandler>&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:3880 (ep.so+0x0000000e58d1)
|
7
|
00:11:05.579 #3 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:4137 (ep.so+0x0000000c518a)
|
8
|
00:11:05.579 #4 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:4583 (ep.so+0x0000000c8cb4)
|
9
|
00:11:05.579 #5 EventuallyPersistentStore::snapshotStats() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep.cc:1755 (ep.so+0x000000094816)
|
10
|
00:11:05.579 #6 StatSnap::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/tasks.cc:100 (ep.so+0x000000139c16)
|
11
|
00:11:05.579 #7 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000fa1a6)
|
12
|
00:11:05.579 #8 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000f9d55)
|
13
|
00:11:05.579 #9 platform_thread_wrap(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:54 (libplatform.so.0.1.0+0x00000000568b)
|
14
|
00:11:05.579
|
15
|
00:11:05.579 Previous write of size 4 at 0x7d480000b9d4 by main thread (mutexes: write M18112):
|
16
|
00:11:05.579 #0 ActiveStream::transitionState(stream_state_t) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/stream.cc:1033 (ep.so+0x000000073888)
|
17
|
00:11:05.579 #1 ActiveStream::setVBucketStateAckRecieved() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/stream.cc:394 (ep.so+0x000000076185)
|
18
|
00:11:05.579 #2 DcpProducer::handleResponse(protocol_binary_response_header*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/producer.cc:608 (ep.so+0x00000006a3c3)
|
19
|
00:11:05.579 #3 EvpDcpResponseHandler(engine_interface*, void const*, protocol_binary_response_header*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:1744 (ep.so+0x0000000b9d5b)
|
20
|
00:11:05.579 #4 mock_dcp_response_handler(engine_interface*, void const*, protocol_binary_response_header*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:799 (engine_testapp+0x0000004cf4d5)
|
21
|
00:11:05.579 #5 sendDcpAck(engine_interface*, engine_interface_v1*, void const*, protocol_binary_command, protocol_binary_response_status, unsigned int) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_test_apis.cc:1012 (ep_testsuite_dcp.so+0x00000004eb12)
|
22
|
00:11:05.579 #6 test_dcp_takeover_no_items(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_dcp.cc:2505 (ep_testsuite_dcp.so+0x000000024d7d)
|
23
|
00:11:05.579 #7 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1136 (engine_testapp+0x0000004cc760)
|
24
|
00:11:05.579 #8 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
25
|
00:11:05.579
|
26
|
00:11:05.579 Location is heap block of size 376 at 0x7d480000b880 allocated by main thread:
|
27
|
00:11:05.579 #0 operator new(unsigned long) <null> (engine_testapp+0x00000046442d)
|
28
|
00:11:05.579 #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/producer.cc:297 (ep.so+0x000000067fd7)
|
29
|
00:11:05.579 #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:1527 (ep.so+0x0000000b9277)
|
30
|
00:11:05.579 #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:552 (engine_testapp+0x0000004cea57)
|
31
|
00:11:05.579 #4 test_dcp_takeover_no_items(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_dcp.cc:2473 (ep_testsuite_dcp.so+0x000000024c80)
|
32
|
00:11:05.579 #5 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1136 (engine_testapp+0x0000004cc760)
|
33
|
00:11:05.579 #6 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
34
|
00:11:05.579
|
35
|
00:11:05.579 Mutex M13543 (0x7d840001cc30) created at:
|
36
|
00:11:05.579 #0 pthread_mutex_lock <null> (engine_testapp+0x000000486720)
|
37
|
00:11:05.579 #1 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h:748 (ep.so+0x000000046eaa)
|
38
|
00:11:05.579 #2 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:6262 (ep.so+0x0000000d5e1a)
|
39
|
00:11:05.579 #3 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:1765 (ep.so+0x0000000bac96)
|
40
|
00:11:05.579 #4 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/mock_server.cc:324 (engine_testapp+0x0000004f6572)
|
41
|
00:11:05.579 #5 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:253 (engine_testapp+0x0000004ce1e5)
|
42
|
00:11:05.579 #6 get_str_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_test_apis.cc:1061 (ep_testsuite_dcp.so+0x00000004d654)
|
43
|
00:11:05.579 #7 wait_for_warmup_complete(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_test_apis.cc:1272 (ep_testsuite_dcp.so+0x00000004ffd4)
|
44
|
00:11:05.579 #8 test_setup(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_common.cc:147 (ep_testsuite_dcp.so+0x0000000445d3)
|
45
|
00:11:05.579 #9 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1131 (engine_testapp+0x0000004cc719)
|
46
|
00:11:05.579 #10 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
47
|
00:11:05.579
|
48
|
00:11:05.579 Mutex M17306 (0x7d580000f830) created at:
|
49
|
00:11:05.579 #0 pthread_rwlock_init <null> (engine_testapp+0x000000469c50)
|
50
|
00:11:05.579 #1 cb_rw_lock_initialize /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:373 (libplatform.so.0.1.0+0x000000006794)
|
51
|
00:11:05.579 #2 DcpProducer::DcpProducer(EventuallyPersistentEngine&, void const*, std::string const&, bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/rwlock.h:31 (ep.so+0x000000065aba)
|
52
|
00:11:05.579 #3 DcpConnMap::newProducer(void const*, std::string const&, bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/connmap.cc:1003 (ep.so+0x0000000461f4)
|
53
|
00:11:05.579 #4 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:6223 (ep.so+0x0000000d59cd)
|
54
|
00:11:05.579 #5 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:1476 (ep.so+0x0000000b8ecf)
|
55
|
00:11:05.579 #6 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:491 (engine_testapp+0x0000004ce7e5)
|
56
|
00:11:05.579 #7 test_dcp_takeover_no_items(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_dcp.cc:2459 (ep_testsuite_dcp.so+0x000000024bdb)
|
57
|
00:11:05.579 #8 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1136 (engine_testapp+0x0000004cc760)
|
58
|
00:11:05.579 #9 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
59
|
00:11:05.579
|
60
|
00:11:05.579 Mutex M18112 (0x7d480000b8e0) created at:
|
61
|
00:11:05.579 #0 pthread_mutex_lock <null> (engine_testapp+0x000000486720)
|
62
|
00:11:05.579 #1 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h:748 (ep.so+0x000000068154)
|
63
|
00:11:05.579 #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:1527 (ep.so+0x0000000b9277)
|
64
|
00:11:05.579 #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:552 (engine_testapp+0x0000004cea57)
|
65
|
00:11:05.579 #4 test_dcp_takeover_no_items(engine_interface*, engine_interface_v1*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_dcp.cc:2473 (ep_testsuite_dcp.so+0x000000024c80)
|
66
|
00:11:05.579 #5 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1136 (engine_testapp+0x0000004cc760)
|
67
|
00:11:05.579 #6 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
68
|
00:11:05.579
|
69
|
00:11:05.579 Thread T11 'mc:writer_10' (tid=64160, running) created by main thread at:
|
70
|
00:11:05.579 #0 pthread_create <null> (engine_testapp+0x0000004678d1)
|
71
|
00:11:05.579 #1 cb_create_named_thread /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:104 (libplatform.so.0.1.0+0x0000000054e5)
|
72
|
00:11:05.579 #2 ExecutorThread::start() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:46 (ep.so+0x0000000f96f7)
|
73
|
00:11:05.579 #3 ExecutorPool::_startWorkers() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:515 (ep.so+0x0000000f305a)
|
74
|
00:11:05.579 #4 ExecutorPool::_registerTaskable(Taskable&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:479 (ep.so+0x0000000f26c9)
|
75
|
00:11:05.579 #5 ExecutorPool::registerTaskable(Taskable&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:484 (ep.so+0x0000000f48fe)
|
76
|
00:11:05.579 #6 EventuallyPersistentStore::EventuallyPersistentStore(EventuallyPersistentEngine&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep.cc:301 (ep.so+0x00000008546a)
|
77
|
00:11:05.579 #7 EventuallyPersistentEngine::initialize(char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:2132 (ep.so+0x0000000ba69e)
|
78
|
00:11:05.579 #8 EvpInitialize(engine_interface*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:143 (ep.so+0x0000000b7fd8)
|
79
|
00:11:05.579 #9 init_engine_instance <null> (libmcd_util.so.1.0.0+0x0000000057ab)
|
80
|
00:11:05.579 #10 create_bucket(bool, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:983 (engine_testapp+0x0000004cd5e7)
|
81
|
00:11:05.579 #11 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1129 (engine_testapp+0x0000004cc6c8)
|
82
|
00:11:05.579 #12 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
83
|
00:11:05.579
|
84
|
00:11:05.579 SUMMARY: ThreadSanitizer: data race /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/dcp/stream.cc:545 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*)
|
85
|
00:11:05.579 ==================
|