-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Flake: bins/tsan/client_channel_stress_test #13546
Copy link
Copy link
Closed
Labels
disposition/BUILDNURSEFor all buildnurse related build/test failures and flakesFor all buildnurse related build/test failures and flakes
Description
WARNING: ThreadSanitizer: data race (pid=30568)
Write of size 1 at 0x7d54000f3cf8 by thread T12 (mutexes: write M700029):
#0 grpc_resource_user_alloc /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:824:33 (client_channel_stress_test+0x000000566ad3)
#1 grpc_resource_user_alloc_slices /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:895:3 (client_channel_stress_test+0x0000005674e5)
#2 tcp_continue_read(grpc_exec_ctx*, grpc_tcp*) /var/local/git/grpc/src/core/lib/iomgr/tcp_posix.cc:474:5 (client_channel_stress_test+0x000000570989)
#3 tcp_handle_read(grpc_exec_ctx*, void*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/tcp_posix.cc:499:5 (client_channel_stress_test+0x000000570491)
#4 exec_ctx_run(grpc_exec_ctx*, grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:70:3 (client_channel_stress_test+0x000000560273)
#5 grpc_exec_ctx_flush /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:90:9 (client_channel_stress_test+0x00000055ffc7)
#6 end_worker(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker*, grpc_pollset_worker**) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:882:9 (client_channel_stress_test+0x0000005939a7)
#7 pollset_work(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker**, long) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:986:3 (client_channel_stress_test+0x00000058fc9c)
#8 grpc_pollset_work /var/local/git/grpc/src/core/lib/iomgr/ev_posix.cc:232:10 (client_channel_stress_test+0x00000055f282)
#9 cq_next(grpc_completion_queue*, gpr_timespec, void*) /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:952:23 (client_channel_stress_test+0x00000061f207)
#10 grpc_completion_queue_next /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:1033:10 (client_channel_stress_test+0x00000061dab6)
#11 grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) /var/local/git/grpc/src/cpp/common/completion_queue_cc.cc:56:15 (client_channel_stress_test+0x0000005fcb99)
#12 grpc::CompletionQueue::NextStatus grpc::CompletionQueue::AsyncNext<gpr_timespec>(void**, bool*, gpr_timespec const&) /var/local/git/grpc/include/grpc++/impl/codegen/completion_queue.h:157:12 (client_channel_stress_test+0x0000005da8a5)
#13 grpc::Server::SyncRequestThreadManager::PollForWork(void**, bool*) /var/local/git/grpc/src/cpp/server/server_cc.cc:276:13 (client_channel_stress_test+0x0000005dc68d)
#14 grpc::ThreadManager::MainWorkLoop() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:122:30 (client_channel_stress_test+0x0000005eaee8)
#15 grpc::ThreadManager::WorkerThread::Run() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:38:3 (client_channel_stress_test+0x0000005eae6e)
#16 void std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()>::operator()<, void>(grpc::ThreadManager::WorkerThread*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000005ee01b)
#17 void std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000005edf05)
#18 std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000005ede88)
#19 std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000005ed9dc)
#20 <null> <null> (libstdc++.so.6+0x0000000b696f)
Previous read of size 1 at 0x7d54000f3cf8 by thread T143:
#0 ru_shutdown(grpc_exec_ctx*, void*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:529:22 (client_channel_stress_test+0x00000056680e)
#1 closure_impl::closure_wrapper(grpc_exec_ctx*, void*, grpc_error*) /var/local/git/grpc/./src/core/lib/iomgr/closure.h:155:3 (client_channel_stress_test+0x00000054d5ae)
#2 grpc_combiner_continue_exec_ctx /var/local/git/grpc/src/core/lib/iomgr/combiner.cc:260:5 (client_channel_stress_test+0x0000005583df)
#3 grpc_exec_ctx_flush /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:93:17 (client_channel_stress_test+0x00000055ffe2)
#4 end_worker(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker*, grpc_pollset_worker**) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:915:7 (client_channel_stress_test+0x000000593cd0)
#5 pollset_work(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker**, long) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:986:3 (client_channel_stress_test+0x00000058fc9c)
#6 grpc_pollset_work /var/local/git/grpc/src/core/lib/iomgr/ev_posix.cc:232:10 (client_channel_stress_test+0x00000055f282)
#7 cq_next(grpc_completion_queue*, gpr_timespec, void*) /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:952:23 (client_channel_stress_test+0x00000061f207)
#8 grpc_completion_queue_next /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:1033:10 (client_channel_stress_test+0x00000061dab6)
#9 grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) /var/local/git/grpc/src/cpp/common/completion_queue_cc.cc:56:15 (client_channel_stress_test+0x0000005fcb99)
#10 grpc::CompletionQueue::NextStatus grpc::CompletionQueue::AsyncNext<gpr_timespec>(void**, bool*, gpr_timespec const&) /var/local/git/grpc/include/grpc++/impl/codegen/completion_queue.h:157:12 (client_channel_stress_test+0x0000005da8a5)
#11 grpc::Server::SyncRequestThreadManager::PollForWork(void**, bool*) /var/local/git/grpc/src/cpp/server/server_cc.cc:276:13 (client_channel_stress_test+0x0000005dc68d)
#12 grpc::ThreadManager::MainWorkLoop() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:122:30 (client_channel_stress_test+0x0000005eaee8)
#13 grpc::ThreadManager::WorkerThread::Run() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:38:3 (client_channel_stress_test+0x0000005eae6e)
#14 void std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()>::operator()<, void>(grpc::ThreadManager::WorkerThread*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000005ee01b)
#15 void std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000005edf05)
#16 std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000005ede88)
#17 std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000005ed9dc)
#18 <null> <null> (libstdc++.so.6+0x0000000b696f)
Location is heap block of size 616 at 0x7d54000f3c00 allocated by thread T22:
#0 malloc /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:595 (client_channel_stress_test+0x00000044fc88)
#1 gpr_malloc /var/local/git/grpc/src/core/lib/support/alloc.cc:56:7 (client_channel_stress_test+0x0000005f1a7d)
#2 grpc_resource_user_create /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:725:28 (client_channel_stress_test+0x00000056549a)
#3 grpc_tcp_create /var/local/git/grpc/src/core/lib/iomgr/tcp_posix.cc:815:24 (client_channel_stress_test+0x00000056f00a)
#4 grpc_tcp_client_create_from_fd /var/local/git/grpc/src/core/lib/iomgr/tcp_client_posix.cc:126:10 (client_channel_stress_test+0x00000056cc28)
#5 on_writable(grpc_exec_ctx*, void*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/tcp_client_posix.cc:176:13 (client_channel_stress_test+0x00000056de3a)
#6 exec_ctx_run(grpc_exec_ctx*, grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:70:3 (client_channel_stress_test+0x000000560273)
#7 grpc_exec_ctx_flush /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:90:9 (client_channel_stress_test+0x00000055ffc7)
#8 end_worker(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker*, grpc_pollset_worker**) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:915:7 (client_channel_stress_test+0x000000593cd0)
#9 pollset_work(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker**, long) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:986:3 (client_channel_stress_test+0x00000058fc9c)
#10 grpc_pollset_work /var/local/git/grpc/src/core/lib/iomgr/ev_posix.cc:232:10 (client_channel_stress_test+0x00000055f282)
#11 cq_next(grpc_completion_queue*, gpr_timespec, void*) /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:952:23 (client_channel_stress_test+0x00000061f207)
#12 grpc_completion_queue_next /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:1033:10 (client_channel_stress_test+0x00000061dab6)
#13 grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) /var/local/git/grpc/src/cpp/common/completion_queue_cc.cc:56:15 (client_channel_stress_test+0x0000005fcb99)
#14 grpc::CompletionQueue::NextStatus grpc::CompletionQueue::AsyncNext<gpr_timespec>(void**, bool*, gpr_timespec const&) /var/local/git/grpc/include/grpc++/impl/codegen/completion_queue.h:157:12 (client_channel_stress_test+0x0000005da8a5)
#15 grpc::Server::SyncRequestThreadManager::PollForWork(void**, bool*) /var/local/git/grpc/src/cpp/server/server_cc.cc:276:13 (client_channel_stress_test+0x0000005dc68d)
#16 grpc::ThreadManager::MainWorkLoop() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:122:30 (client_channel_stress_test+0x0000005eaee8)
#17 grpc::ThreadManager::WorkerThread::Run() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:38:3 (client_channel_stress_test+0x0000005eae6e)
#18 void std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()>::operator()<, void>(grpc::ThreadManager::WorkerThread*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000005ee01b)
#19 void std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000005edf05)
#20 std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000005ede88)
#21 std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000005ed9dc)
#22 <null> <null> (libstdc++.so.6+0x0000000b696f)
Mutex M700029 (0x7d54000f3cb8) created at:
#0 pthread_mutex_init /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1169 (client_channel_stress_test+0x0000004431b5)
#1 gpr_mu_init /var/local/git/grpc/src/core/lib/support/sync_posix.cc:37:14 (client_channel_stress_test+0x0000005f601c)
#2 grpc_resource_user_create /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:742:3 (client_channel_stress_test+0x0000005657b2)
#3 grpc_tcp_create /var/local/git/grpc/src/core/lib/iomgr/tcp_posix.cc:815:24 (client_channel_stress_test+0x00000056f00a)
#4 grpc_tcp_client_create_from_fd /var/local/git/grpc/src/core/lib/iomgr/tcp_client_posix.cc:126:10 (client_channel_stress_test+0x00000056cc28)
#5 on_writable(grpc_exec_ctx*, void*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/tcp_client_posix.cc:176:13 (client_channel_stress_test+0x00000056de3a)
#6 exec_ctx_run(grpc_exec_ctx*, grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:70:3 (client_channel_stress_test+0x000000560273)
#7 grpc_exec_ctx_flush /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:90:9 (client_channel_stress_test+0x00000055ffc7)
#8 end_worker(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker*, grpc_pollset_worker**) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:915:7 (client_channel_stress_test+0x000000593cd0)
#9 pollset_work(grpc_exec_ctx*, grpc_pollset*, grpc_pollset_worker**, long) /var/local/git/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc:986:3 (client_channel_stress_test+0x00000058fc9c)
#10 grpc_pollset_work /var/local/git/grpc/src/core/lib/iomgr/ev_posix.cc:232:10 (client_channel_stress_test+0x00000055f282)
#11 cq_next(grpc_completion_queue*, gpr_timespec, void*) /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:952:23 (client_channel_stress_test+0x00000061f207)
#12 grpc_completion_queue_next /var/local/git/grpc/src/core/lib/surface/completion_queue.cc:1033:10 (client_channel_stress_test+0x00000061dab6)
#13 grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) /var/local/git/grpc/src/cpp/common/completion_queue_cc.cc:56:15 (client_channel_stress_test+0x0000005fcb99)
#14 grpc::CompletionQueue::NextStatus grpc::CompletionQueue::AsyncNext<gpr_timespec>(void**, bool*, gpr_timespec const&) /var/local/git/grpc/include/grpc++/impl/codegen/completion_queue.h:157:12 (client_channel_stress_test+0x0000005da8a5)
#15 grpc::Server::SyncRequestThreadManager::PollForWork(void**, bool*) /var/local/git/grpc/src/cpp/server/server_cc.cc:276:13 (client_channel_stress_test+0x0000005dc68d)
#16 grpc::ThreadManager::MainWorkLoop() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:122:30 (client_channel_stress_test+0x0000005eaee8)
#17 grpc::ThreadManager::WorkerThread::Run() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:38:3 (client_channel_stress_test+0x0000005eae6e)
#18 void std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()>::operator()<, void>(grpc::ThreadManager::WorkerThread*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000005ee01b)
#19 void std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000005edf05)
#20 std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000005ede88)
#21 std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000005ed9dc)
#22 <null> <null> (libstdc++.so.6+0x0000000b696f)
Thread T12 (tid=30630, running) created by thread T11 at:
#0 pthread_create /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954 (client_channel_stress_test+0x000000459363)
#1 std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) <null> (libstdc++.so.6+0x0000000b6a90)
#2 grpc::ThreadManager::WorkerThread::WorkerThread(grpc::ThreadManager*) /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:34:10 (client_channel_stress_test+0x0000005eadba)
#3 grpc::ThreadManager::Initialize() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:114:9 (client_channel_stress_test+0x0000005ebb53)
#4 grpc::Server::SyncRequestThreadManager::Start() /var/local/git/grpc/src/cpp/server/server_cc.cc:351:7 (client_channel_stress_test+0x0000005da739)
#5 grpc::Server::Start(grpc::ServerCompletionQueue**, unsigned long) /var/local/git/grpc/src/cpp/server/server_cc.cc:553:5 (client_channel_stress_test+0x0000005d7212)
#6 grpc::ServerBuilder::BuildAndStart() /var/local/git/grpc/src/cpp/server/server_builder.cc:344:3 (client_channel_stress_test+0x0000005c3dc5)
#7 grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::Start(std::string const&, std::mutex*, std::condition_variable*) /var/local/git/grpc/test/cpp/client/client_channel_stress_test.cc:192:17 (client_channel_stress_test+0x0000004f659b)
#8 void std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)>::operator()<std::string&, std::mutex*&, std::condition_variable*&, void>(grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string&, std::mutex*&, std::condition_variable*&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000004f8b00)
#9 void std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)>::__call<void, , 0ul, 1ul, 2ul, 3ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1263:11 (client_channel_stress_test+0x0000004f898c)
#10 void std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)>::operator()<, void>() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1321:11 (client_channel_stress_test+0x0000004f8849)
#11 void std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()>::_M_invoke<>(std::_Index_tuple<>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000004f87b8)
#12 std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000004f8768)
#13 std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000004f82ac)
#14 <null> <null> (libstdc++.so.6+0x0000000b696f)
Thread T143 (tid=30952, running) created by thread T12 at:
#0 pthread_create /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954 (client_channel_stress_test+0x000000459363)
#1 std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) <null> (libstdc++.so.6+0x0000000b6a90)
#2 grpc::ThreadManager::WorkerThread::WorkerThread(grpc::ThreadManager*) /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:34:10 (client_channel_stress_test+0x0000005eadba)
#3 grpc::ThreadManager::MainWorkLoop() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:146:15 (client_channel_stress_test+0x0000005eb096)
#4 grpc::ThreadManager::WorkerThread::Run() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:38:3 (client_channel_stress_test+0x0000005eae6e)
#5 void std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()>::operator()<, void>(grpc::ThreadManager::WorkerThread*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000005ee01b)
#6 void std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000005edf05)
#7 std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000005ede88)
#8 std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (grpc::ThreadManager::WorkerThread::*)()> (grpc::ThreadManager::WorkerThread*)> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000005ed9dc)
#9 <null> <null> (libstdc++.so.6+0x0000000b696f)
Thread T22 (tid=30655, running) created by thread T21 at:
#0 pthread_create /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954 (client_channel_stress_test+0x000000459363)
#1 std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) <null> (libstdc++.so.6+0x0000000b6a90)
#2 grpc::ThreadManager::WorkerThread::WorkerThread(grpc::ThreadManager*) /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:34:10 (client_channel_stress_test+0x0000005eadba)
#3 grpc::ThreadManager::Initialize() /var/local/git/grpc/src/cpp/thread_manager/thread_manager.cc:114:9 (client_channel_stress_test+0x0000005ebb53)
#4 grpc::Server::SyncRequestThreadManager::Start() /var/local/git/grpc/src/cpp/server/server_cc.cc:351:7 (client_channel_stress_test+0x0000005da739)
#5 grpc::Server::Start(grpc::ServerCompletionQueue**, unsigned long) /var/local/git/grpc/src/cpp/server/server_cc.cc:553:5 (client_channel_stress_test+0x0000005d7212)
#6 grpc::ServerBuilder::BuildAndStart() /var/local/git/grpc/src/cpp/server/server_builder.cc:344:3 (client_channel_stress_test+0x0000005c3dc5)
#7 grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::Start(std::string const&, std::mutex*, std::condition_variable*) /var/local/git/grpc/test/cpp/client/client_channel_stress_test.cc:192:17 (client_channel_stress_test+0x0000004f659b)
#8 void std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)>::operator()<std::string&, std::mutex*&, std::condition_variable*&, void>(grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string&, std::mutex*&, std::condition_variable*&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:569:11 (client_channel_stress_test+0x0000004f8b00)
#9 void std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)>::__call<void, , 0ul, 1ul, 2ul, 3ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1263:11 (client_channel_stress_test+0x0000004f898c)
#10 void std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)>::operator()<, void>() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1321:11 (client_channel_stress_test+0x0000004f8849)
#11 void std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()>::_M_invoke<>(std::_Index_tuple<>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1699:18 (client_channel_stress_test+0x0000004f87b8)
#12 std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()>::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:1688:16 (client_channel_stress_test+0x0000004f8768)
#13 std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>::*)(std::string const&, std::mutex*, std::condition_variable*)> (grpc::testing::(anonymous namespace)::ClientChannelStressTest::ServerThread<grpc::testing::TestServiceImpl>*, std::string, std::mutex*, std::condition_variable*)> ()> >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/thread:115:13 (client_channel_stress_test+0x0000004f82ac)
#14 <null> <null> (libstdc++.so.6+0x0000000b696f)
SUMMARY: ThreadSanitizer: data race /var/local/git/grpc/src/core/lib/iomgr/resource_quota.cc:824:33 in grpc_resource_user_alloc
==================
2017-11-29 07:27:51,675 FAILED: bins/tsan/client_channel_stress_test GRPC_POLL_STRATEGY=epoll1 [ret=66, pid=30568, time=17.7sec]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
disposition/BUILDNURSEFor all buildnurse related build/test failures and flakesFor all buildnurse related build/test failures and flakes