New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Two simple changes to memcached #5
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sometimes I'm seeing in logs that writes to sockets that are used for kicking threads return EWOULDBLOCK. This patch helps this case by consuming more than one notification at a time. memcached_shutdown check is moved after read so that shutdown notification is not lost. Also thread_libevent_process tries to process number of incoming connections that's equal to number of notifications consumed. This is necessary to avoid losing new connections.
ns-codereview
pushed a commit
that referenced
this pull request
Jun 30, 2015
Identified by ThreadSanitizer: WARNING: ThreadSanitizer: data race (pid=34137) Write of size 4 at 0x7fa0ab35b288 by main thread: #0 mc_time_clock_tick() /home/daver/repos/couchbase/server/memcached/daemon/mc_time.cc:171 (memcached+0x0000000f9df3) #1 mc_time_clock_event_handler(int, short, void*) /home/daver/repos/couchbase/server/memcached/daemon/mc_time.cc:158 (memcached+0x0000000fa08f) #2 event_process_active_single_queue /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1368 (libevent_core-2.0.so.5+0x00000000b7cb) #3 __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287 (libc.so.6+0x000000021ec4) Previous read of size 4 at 0x7fa0ab35b288 by thread T12 (mutexes: write M45839, write M45891): #0 mc_time_get_current_time /home/daver/repos/couchbase/server/memcached/daemon/mc_time.cc:94 (memcached+0x0000000fa0b6) #1 do_item_update /home/daver/repos/couchbase/server/memcached/engines/default_engine/items.c:358 (default_engine.so+0x000000008109) #2 item_get /home/daver/repos/couchbase/server/memcached/engines/default_engine/items.c:821 (default_engine.so+0x000000007deb) #3 default_get /home/daver/repos/couchbase/server/memcached/engines/default_engine/default_engine.c:335 (default_engine.so+0x000000003ef5) #4 EWB_Engine::get(engine_interface*, void const*, void**, void const*, int, unsigned short) /home/daver/repos/couchbase/server/memcached/engines/ewouldblock_engine/ewouldblock_engine.cc:247 (ewouldblock_engine.so+0x000000004fc1) #5 bucket_get /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:123 (memcached+0x0000000e096a) #6 process_bin_packet(conn*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:5051 (memcached+0x0000000d2100) #7 run_event_loop /home/daver/repos/couchbase/server/memcached/daemon/connections.cc:174 (memcached+0x0000000c70c3) #8 thread_libevent_process(int, short, void*) /home/daver/repos/couchbase/server/memcached/daemon/thread.cc:374 (memcached+0x0000000f8fc0) #9 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1319 (libevent_core-2.0.so.5+0x00000000b6c7) #10 platform_thread_wrap /home/daver/repos/couchbase/server/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x000000003730) Change-Id: I9d73a6f5553d88beb1bcc2526763d892fe1b990f Reviewed-on: http://review.couchbase.org/52484 Tested-by: buildbot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
ns-codereview
pushed a commit
that referenced
this pull request
Jun 30, 2015
As identified by ThreadSanitizer: WARNING: ThreadSanitizer: data race (pid=950) Write of size 8 at 0x7d100002db60 by thread T17 (mutexes: write M45854): #0 operator delete(void*) <null>:0 (memcached+0x00000005a6bb) #1 __gnu_cxx::new_allocator<...>::deallocate(...) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/ext/new_allocator.h:110 (ewouldblock_engine.so+0x000000007677) #2 std::_Rb_tree<>::erase(...) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_tree.h:890 (ewouldblock_engine.so+0x000000005890) #3 bucket_unknown_command /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:130 (memcached+0x0000000e8cd0) #4 process_bin_unknown_packet(conn*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:1877 (memcached+0x0000000d2223) #5 run_event_loop /home/daver/repos/couchbase/server/memcached/daemon/connections.cc:174 (memcached+0x0000000c70c3) #6 event_handler /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:6908 (memcached+0x0000000d7b24) #7 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1319 (libevent_core-2.0.so.5+0x00000000b6c7) #8 platform_thread_wrap /home/daver/repos/couchbase/server/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x000000003730) Previous read of size 8 at 0x7d100002db60 by thread T16 (mutexes: write M45851, write M45962): #0 std::less<void const*>::operator()(void const* const&, void const* const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_function.h:371 (ewouldblock_engine.so+0x000000006ac8) #1 EWB_Engine::should_inject_error(...) /home/daver/repos/couchbase/server/memcached/engines/ewouldblock_engine/ewouldblock_engine.cc:110 (ewouldblock_engine.so+0x000000006c31) #2 EWB_Engine::allocate(...) /home/daver/repos/couchbase/server/memcached/engines/ewouldblock_engine/ewouldblock_engine.cc:211 (ewouldblock_engine.so+0x000000004d33) #3 add_set_replace_executor(conn*, void*, ENGINE_STORE_OPERATION) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:3940 (memcached+0x0000000e7b40) #4 setq_executor(conn*, void*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:4079 (memcached+0x0000000e0496) #5 process_bin_packet(conn*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:5051 (memcached+0x0000000d2100) #6 run_event_loop /home/daver/repos/couchbase/server/memcached/daemon/connections.cc:174 (memcached+0x0000000c70c3) #7 event_handler /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:6908 (memcached+0x0000000d7b24) #8 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1319 (libevent_core-2.0.so.5+0x00000000b6c7) #9 platform_thread_wrap /home/daver/repos/couchbase/server/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x000000003730) Change-Id: Ia558b1947f2c913d6fa7943de0e85ba975a0c2b1 Reviewed-on: http://review.couchbase.org/52486 Tested-by: buildbot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
ns-codereview
pushed a commit
that referenced
this pull request
Jul 1, 2015
As reported by ThreadSanitizer: WARNING: ThreadSanitizer: data race (pid=34992) Read of size 4 at 0x7f98b38b5bf4 by main thread: #0 run_event_loop /home/daver/repos/couchbase/server/memcached/daemon/connections.cc:170 (memcached+0x0000000c7049) #1 event_handler /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:6912 (memcached+0x0000000d7b34) #2 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1319 (libevent_core-2.0.so.5+0x00000000b6c7) #3 __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287 (libc.so.6+0x000000021ec4) Previous write of size 4 at 0x7f98b38b5bf4 by thread T19 (mutexes: write M45860): #0 verbosity_executor(conn*, void*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:3600 (memcached+0x0000000df219) #1 process_bin_packet(conn*) /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:5053 (memcached+0x0000000d2100) #2 run_event_loop /home/daver/repos/couchbase/server/memcached/daemon/connections.cc:174 (memcached+0x0000000c70c3) #3 event_handler /home/daver/repos/couchbase/server/memcached/daemon/memcached.cc:6912 (memcached+0x0000000d7b34) #4 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-build/label/ubuntu14.04/release/sherlock/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1319 (libevent_core-2.0.so.5+0x00000000b6c7) #5 platform_thread_wrap /home/daver/repos/couchbase/server/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x000000003730) Change-Id: I2ae83312a532c67b2e3915e0c604e4e60558a8a7 Reviewed-on: http://review.couchbase.org/52487 Tested-by: buildbot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
ns-codereview
pushed a commit
that referenced
this pull request
Oct 7, 2015
Add identified by ThreadSanitizer. mock_connstruct::references is accessed concurrently from two threads; update to use std::atomic. Details: WARNING: ThreadSanitizer: data race (pid=32054) Write of size 4 at 0x7d280000eff0 by main thread: #0 mock_cookie_reserve() /memcached/programs/engine_testapp/mock_server.cc:129:5 (engine_testapp+0x0000004c77c3) #1 EventuallyPersistentEngine::reserveCookie() /ep-engine/src/ep_engine.cc:2016:28 (ep.so+0x0000000a2f05) #2 EventuallyPersistentEngine::createTapQueue() /ep-engine/src/ep_engine.cc:2574 (ep.so+0x0000000a2f05) #3 EvpGetTapIterator() /ep-engine/src/ep_engine.cc:1463:17 (ep.so+0x00000009f943) #4 mock_get_tap_iterator() /memcached/programs/engine_testapp/engine_testapp.cc:467:20 (engine_testapp+0x0000004c59ce) #5 test_tap_ack_stream() /ep-engine/tests/ep_testsuite.cc:7341:20 (ep_testsuite.so+0x00000003edf0) #6 execute_test() /memcached/programs/engine_testapp/engine_testapp.cc:1090:19 (engine_testapp+0x0000004c4142) #7 main /memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000004c4142) Previous write of size 4 at 0x7d280000eff0 by thread T10 (mutexes: write M2181): #0 mock_cookie_release() /memcached/programs/engine_testapp/mock_server.cc:136:5 (engine_testapp+0x0000004c7801) #1 EventuallyPersistentEngine::releaseCookie() /ep-engine/src/ep_engine.cc:2025:28 (ep.so+0x0000000a1142) #2 ConnHandler::releaseReference() /ep-engine/src/tapconnection.cc:311:9 (ep.so+0x0000000fc5d2) #3 TapConnMap::manageConnections() /ep-engine/src/connmap.cc:532:10 (ep.so+0x00000003e972) #4 ConnManager::run() /ep-engine/src/connmap.cc:150:9 (ep.so+0x00000004a60e) #5 ExecutorThread::run() /ep-engine/src/executorthread.cc:115:26 (ep.so+0x0000000d8a9e) #6 launch_executor_thread() /ep-engine/src/executorthread.cc:33:9 (ep.so+0x0000000d8615) #7 platform_thread_wrap /platform/src/cb_pthreads.c:23:5 (libplatform.so.0.1.0+0x000000003c31) Change-Id: Ib1861cf9b66e31b5f50e6b114119da72d54cde10 Reviewed-on: http://review.couchbase.org/55866 Reviewed-by: abhinav dangeti <abhinav@couchbase.com> Tested-by: buildbot <build@couchbase.com>
abhinavdangeti
pushed a commit
to abhinavdangeti/memcached
that referenced
this pull request
Oct 13, 2015
Making references in mock_connstruct atomic isn't enough, as based on this count we free the cookie, use a mutex instead. WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) couchbase#4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) couchbase#5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Change-Id: If36aa90a181e5cd49aeede04065b78bb1fe17dc1
abhinavdangeti
pushed a commit
to abhinavdangeti/memcached
that referenced
this pull request
Oct 14, 2015
…okie WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) couchbase#4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) couchbase#5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009ff0 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous atomic read of size 4 at 0x7d2800009ff0 by thread T20: #0 __tsan_atomic32_load <null> (engine_testapp+0x0000004a51b4) #1 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:318 (engine_testapp+0x0000004c7fa0) #2 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #3 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Change-Id: If36aa90a181e5cd49aeede04065b78bb1fe17dc1
abhinavdangeti
added a commit
to abhinavdangeti/memcached
that referenced
this pull request
Oct 14, 2015
…okie WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) couchbase#4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) couchbase#5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009ff0 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous atomic read of size 4 at 0x7d2800009ff0 by thread T20: #0 __tsan_atomic32_load <null> (engine_testapp+0x0000004a51b4) #1 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:318 (engine_testapp+0x0000004c7fa0) #2 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #3 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Change-Id: If36aa90a181e5cd49aeede04065b78bb1fe17dc1
abhinavdangeti
added a commit
to abhinavdangeti/memcached
that referenced
this pull request
Oct 15, 2015
…okie WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) couchbase#4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) couchbase#5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009ff0 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) couchbase#4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) couchbase#5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) couchbase#6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) couchbase#7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) couchbase#8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous atomic read of size 4 at 0x7d2800009ff0 by thread T20: #0 __tsan_atomic32_load <null> (engine_testapp+0x0000004a51b4) #1 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:318 (engine_testapp+0x0000004c7fa0) #2 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #3 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Change-Id: If36aa90a181e5cd49aeede04065b78bb1fe17dc1
ns-codereview
pushed a commit
that referenced
this pull request
Oct 15, 2015
…okie WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) #4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) #5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) #6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) #7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) #8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) #4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009ff0 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) #4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) #5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) #6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) #7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) #8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous atomic read of size 4 at 0x7d2800009ff0 by thread T20: #0 __tsan_atomic32_load <null> (engine_testapp+0x0000004a51b4) #1 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:318 (engine_testapp+0x0000004c7fa0) #2 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #3 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Change-Id: If36aa90a181e5cd49aeede04065b78bb1fe17dc1 Reviewed-on: http://review.couchbase.org/56100 Tested-by: buildbot <build@couchbase.com> Reviewed-by: Dave Rigby <daver@couchbase.com>
daverigby
added a commit
to daverigby/memcached
that referenced
this pull request
Apr 13, 2016
To build: cd build/memcached make -j8 To run: ./memcached_testapp --gtest_filter=*HelloWorld* -e Currently crashes when trying to perform a allocate: (lldb) bt * thread couchbase#4: tid = 0x8eca30, 0x00007fff977b3002 libsystem_kernel.dylib`__pthread_kill + 10, name = 'mc:worker_0, stop reason = signal SIGABRT * frame #0: 0x00007fff977b3002 libsystem_kernel.dylib` __pthread_kill + 10 frame #1: 0x00007fff969f05c5 libsystem_pthread.dylib` pthread_kill + 90 frame #2: 0x00007fff9a9136e7 libsystem_c.dylib` abort + 129 frame #3: 0x00000001008ecb58 index_engine.dylib` Index_Engine::allocate(handle=0x000000010316c200, cookie=0x0000000101afd4b0, item=0x0000700000182018, key=0x0000000101ba8820, nkey=1, nbytes=1, flags=0, exptime=0, datatype='\0') + 72 at index_engine.cc:86 frame couchbase#4: 0x00000001001ecb7d memcached_testapp` add_set_replace_executor(c=0x0000000101afd180, packet=0x0000000101ba8800, store_op=OPERATION_SET) + 1085 at mcbp_executors.cc:2765 frame couchbase#5: 0x00000001001e195f memcached_testapp` set_executor(c=0x0000000101afd180, packet=0x0000000101ba8800) + 47 at mcbp_executors.cc:2903 frame couchbase#6: 0x00000001001eb01b memcached_testapp` process_bin_packet(c=0x0000000101afd180) + 1035 at mcbp_executors.cc:4619 frame couchbase#7: 0x00000001001eabff memcached_testapp` mcbp_complete_nread(c=0x0000000101afd180) + 223 at mcbp_executors.cc:4718 frame couchbase#8: 0x0000000100235c6e memcached_testapp` conn_nread(c=0x0000000101afd180) + 62 at statemachine_mcbp.cc:310 frame couchbase#9: 0x00000001001ba62d memcached_testapp` McbpStateMachine::execute(this=0x0000000101a23b10, connection=0x0000000101afd180) + 29 at statemachine_mcbp.h:43 frame couchbase#10: 0x00000001001b749c memcached_testapp` McbpConnection::runStateMachinery(this=0x0000000101afd180) + 636 at connection_mcbp.cc:1007 frame couchbase#11: 0x00000001001b8e40 memcached_testapp` McbpConnection::runEventLoop(this=0x0000000101afd180, which=2) + 64 at connection_mcbp.cc:1272 frame #12: 0x00000001001be9f4 memcached_testapp` ::run_event_loop(c=0x0000000101afd180, which=2) + 36 at connections.cc:153 frame #13: 0x0000000100209ab7 memcached_testapp` event_handler(fd=43, which=2, arg=0x0000000101afd180) + 1911 at memcached.cc:874 frame #14: 0x0000000100771e01 libevent_core-2.0.5.dylib` event_base_loop + 2385 frame #15: 0x000000010024158c memcached_testapp` worker_libevent(arg=0x0000000101b6ec00) + 92 at thread.cc:231 frame #16: 0x00000001008846e9 libplatform.0.1.0.dylib` CouchbaseThread::run(this=0x0000000101a1ccd0) + 521 at cb_pthreads.cc:54 frame #17: 0x0000000100882fec libplatform.0.1.0.dylib` platform_thread_wrap(arg=0x0000000101a1ccd0) + 220 at cb_pthreads.cc:66 frame #18: 0x00007fff969eec13 libsystem_pthread.dylib` _pthread_body + 131 frame #19: 0x00007fff969eeb90 libsystem_pthread.dylib` _pthread_start + 168 frame #20: 0x00007fff969ec375 libsystem_pthread.dylib` thread_start + 13 Change-Id: I9161e578d8a007808c176d99f92c49b8e50a2402
ns-codereview
pushed a commit
that referenced
this pull request
Apr 27, 2016
…e count of a cookie WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009f60 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) #4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) #5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) #6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) #7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) #8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous read of size 8 at 0x7d2800009f60 by thread T20: #0 mock_get_engine_specific(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:82 (engine_testapp+0x0000004c75a0) #1 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.h:584 (ep.so+0x0000000c956d) #2 EvpHandleDisconnect(void const*, ENGINE_EVENT_TYPE, void const*, void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:1786 (ep.so+0x0000000aeb46) #3 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:319 (engine_testapp+0x0000004c7f83) #4 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #5 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) WARNING: ThreadSanitizer: data race (pid=39351) Write of size 8 at 0x7d2800009ff0 by thread T18 (mutexes: write M1477): #0 free <null> (engine_testapp+0x00000045ca0b) #1 mock_cookie_release(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:138 (engine_testapp+0x0000004c7850) #2 EventuallyPersistentEngine::releaseCookie(void const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:2031 (ep.so+0x0000000add62) #3 ConnHandler::releaseReference(bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tapconnection.cc:311 (ep.so+0x0000001106d2) #4 DcpConnMap::manageConnections() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:1189 (ep.so+0x0000000461df) #5 ConnManager::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/connmap.cc:150 (ep.so+0x00000004c5ae) #6 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000eaabd) #7 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000ea685) #8 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) Previous atomic read of size 4 at 0x7d2800009ff0 by thread T20: #0 __tsan_atomic32_load <null> (engine_testapp+0x0000004a51b4) #1 destroy_mock_cookie /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/memcached/programs/engine_testapp/mock_server.cc:318 (engine_testapp+0x0000004c7fa0) #2 perf_dcp_client(Handle_args*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/tests/ep_perfsuite.cc:653 (ep_perfsuite.so+0x00000000fcdc) #3 platform_thread_wrap /home/couchbase/.ccache/tmp/cb_pthread.tmp.334a1e8a4a71.179339.i (libplatform.so.0.1.0+0x0000000041c1) (Reviewed-on: http://review.couchbase.org/56100) Change-Id: I99eb841d66a52613da9eeb8b7574aa5e57f1e282 Reviewed-on: http://review.couchbase.org/63368 Well-Formed: buildbot <build@couchbase.com> Tested-by: buildbot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
ns-codereview
pushed a commit
that referenced
this pull request
May 19, 2017
When performing a multi-mutation with the doc_flag 'Add' set, if the item does exist ensure it is released before returning EEXISTS to the client. This addresses the following memory leak: ==33026==ERROR: LeakSanitizer: detected memory leaks Direct leak of 104 byte(s) in 1 object(s) allocated from: #0 0x7f43bc927532 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x99532) #1 0x7f43b4c0191f in __unique_if<Item>::__unique_single std::make_unique<>() platform/include/platform/make_unique.h:43 #2 0x7f43b4c0191f in StoredValue::toItem(bool, unsigned short) const ep-engine/src/stored-value.cc:166 #3 0x7f43b4c2a3e9 in VBucket::getInternal(DocKey const&, void const*, EventuallyPersistentEngine&, int, get_options_t, bool) ep-engine/src/vbucket.cc:1576 #4 0x7f43b4be1898 in KVBucket::getInternal(DocKey const&, unsigned short, void const*, vbucket_state_t, get_options_t) ep-engine/src/kv_bucket.cc:1434 #5 0x7f43b4b9a5e1 in KVBucket::get(DocKey const&, unsigned short, void const*, get_options_t) ep-engine/src/kv_bucket.h:152 #6 0x7f43b4b9a5e1 in EventuallyPersistentEngine::get(void const*, void**, DocKey const&, unsigned short, get_options_t) ep-engine/src/ep_engine.h:176 #7 0x7f43b4b9a5e1 in EvpGet ep-engine/src/ep_engine.cc:268 #8 0x7f43b1244d84 (<unknown module>) #9 0x6b38b0 in bucket_get(McbpConnection*, void**, DocKey const&, unsigned short, DocStateFilter) memcached/daemon/protocol/mcbp/engine_wrapper.cc:148 #10 0x7723a3 in subdoc_fetch memcached/daemon/subdocument.cc:482 #11 0x7723a3 in subdoc_executor memcached/daemon/subdocument.cc:394 #12 0x7775fc in subdoc_multi_mutation_executor(McbpConnection*, void*) memcached/daemon/subdocument.cc:1568 Change-Id: Ib1958fa7f697baf60f8367dce977be2b611e2dad Reviewed-on: http://review.couchbase.org/78347 Tested-by: Build Bot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've two commits in my local memcached repo which adjusts EXTRA_DIST to include important files with .tar.gz source distribution and second adds ability to run single named test.