Skip to content

data race: h2_compress_nosec_test retry_streaming_succeeds_before_replay_finished GRPC_POLL_STRATEGY=epoll1 #15457

@AspirinSJL

Description

@AspirinSJL

https://source.cloud.google.com/results/invocations/3feb8366-ce0d-477a-95ce-2592a9935d93/targets/github%2Fgrpc%2Fc_linux_tsan_native/tests

D0518 17:46:13.985957040   25482 test_config.cc:391]         test slowdown factor: sanitizer=5, fixture=1, poller=1, total=5
I0518 17:46:13.995384615   25482 ev_epoll1_linux.cc:116]     grpc epoll fd: 3
D0518 17:46:13.996322948   25482 ev_posix.cc:145]            Using polling engine: epoll1
D0518 17:46:13.999017932   25482 dns_resolver.cc:339]        Using native dns resolver
I0518 17:46:14.001155537   25482 retry_streaming_succeeds_before_replay_finished.cc:47] Running test: retry_streaming/chttp2/fullstack_compression
D0518 17:46:14.012390423   25482 retry_streaming_succeeds_before_replay_finished.cc:162] client_peer_before_call=localhost:30606
D0518 17:46:14.012482467   25482 dns_resolver.cc:280]        Start resolving.
I0518 17:46:14.022245119   25492 subchannel.cc:608]          New connected subchannel at 0x7d080000d920 for subchannel 0x7d540002f800
D0518 17:46:14.027568223   25482 retry_streaming_succeeds_before_replay_finished.cc:213] server_peer=ipv6:[::1]:47366
D0518 17:46:14.027606077   25482 retry_streaming_succeeds_before_replay_finished.cc:217] client_peer=ipv6:[::1]:30606
D0518 17:46:15.033439272   25482 retry_streaming_succeeds_before_replay_finished.cc:322] server_peer=ipv6:[::1]:47366
D0518 17:46:15.033501590   25482 retry_streaming_succeeds_before_replay_finished.cc:326] client_peer=ipv6:[::1]:30606
==================
WARNING: ThreadSanitizer: data race (pid=25482)
  Write of size 8 at 0x7d900000e040 by main thread:
    #0 free /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:638 (h2_compress_nosec_test+0x0000004487d6)
    #1 gpr_free /var/local/git/grpc/src/core/lib/gpr/alloc.cc:77:3 (h2_compress_nosec_test+0x0000006723e4)
    #2 gpr_free_aligned /var/local/git/grpc/src/core/lib/gpr/alloc.cc:99:36 (h2_compress_nosec_test+0x0000006725f3)
    #3 gpr_arena_destroy(gpr_arena*) /var/local/git/grpc/src/core/lib/gpr/arena.cc:108:3 (h2_compress_nosec_test+0x0000006727c4)
    #4 release_call(void*, grpc_error*) /var/local/git/grpc/src/core/lib/surface/call.cc:520:51 (h2_compress_nosec_test+0x000000595182)
    #5 exec_ctx_run(grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:40:3 (h2_compress_nosec_test+0x000000564c99)
    #6 grpc_core::ExecCtx::Flush() /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:128:9 (h2_compress_nosec_test+0x000000564a23)
    #7 grpc_core::ExecCtx::~ExecCtx() /var/local/git/grpc/./src/core/lib/iomgr/exec_ctx.h:103:5 (h2_compress_nosec_test+0x0000004b1132)
    #8 grpc_call_unref /var/local/git/grpc/src/core/lib/surface/call.cc:607:1 (h2_compress_nosec_test+0x000000591497)
    #9 test_retry_streaming_succeeds_before_replay_finished(grpc_end2end_test_config) /var/local/git/grpc/test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc:381:3 (h2_compress_nosec_test+0x000000526210)
    #10 retry_streaming_succeeds_before_replay_finished(grpc_end2end_test_config) /var/local/git/grpc/test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc:393:3 (h2_compress_nosec_test+0x0000005235d6)
    #11 grpc_end2end_tests(int, char**, grpc_end2end_test_config) /var/local/git/grpc/test/core/end2end/end2end_nosec_tests.cc:588:7 (h2_compress_nosec_test+0x0000004b69d3)
    #12 main /var/local/git/grpc/test/core/end2end/fixtures/h2_compress.cc:126:5 (h2_compress_nosec_test+0x0000004b0dd5)
  Previous atomic write of size 8 at 0x7d900000e040 by thread T1:
    #0 __tsan_atomic64_fetch_add /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc:619 (h2_compress_nosec_test+0x00000046bdc0)
    #1 grpc_call_combiner_stop(grpc_call_combiner*, char const*, int, char const*) /var/local/git/grpc/src/core/lib/iomgr/call_combiner.cc:109:7 (h2_compress_nosec_test+0x00000055ef21)
    #2 execute_closures_in_call_combiner(grpc_call_element*, char const*, closure_to_execute*, unsigned long) /var/local/git/grpc/src/core/ext/filters/client_channel/client_channel.cc:1822:5 (h2_compress_nosec_test+0x0000005c2af7)
    #3 on_complete(void*, grpc_error*) /var/local/git/grpc/src/core/ext/filters/client_channel/client_channel.cc:2124:3 (h2_compress_nosec_test+0x0000005c4154)
    #4 exec_ctx_run(grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:40:3 (h2_compress_nosec_test+0x000000564c99)
    #5 grpc_closure_run(char const*, int, grpc_closure*, grpc_error*) /var/local/git/grpc/./src/core/lib/iomgr/closure.h:258:5 (h2_compress_nosec_test+0x0000004d82bd)
    #6 send_message_on_complete(void*, grpc_error*) /var/local/git/grpc/src/core/ext/filters/http/message_compress/message_compress_filter.cc:204:3 (h2_compress_nosec_test+0x0000006afa1f)
    #7 exec_ctx_run(grpc_closure*, grpc_error*) /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:40:3 (h2_compress_nosec_test+0x000000564c99)
    #8 grpc_core::ExecCtx::Flush() /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.cc:128:9 (h2_compress_nosec_test+0x000000564a23)
    #9 run_closures(grpc_closure_list) /var/local/git/grpc/src/core/lib/iomgr/executor.cc:82:5 (h2_compress_nosec_test+0x0000005f3c89)
    #10 executor_thread(void*) /var/local/git/grpc/src/core/lib/iomgr/executor.cc:180:22 (h2_compress_nosec_test+0x0000005f39f7)
    #11 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*)::{lambda(void*)#1}::operator()(void*) const /var/local/git/grpc/src/core/lib/gprpp/thd_posix.cc:100:27 (h2_compress_nosec_test+0x00000067b1bc)
    #12 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*)::{lambda(void*)#1}::__invoke(void*) /var/local/git/grpc/src/core/lib/gprpp/thd_posix.cc:74:25 (h2_compress_nosec_test+0x00000067b058)
  Thread T1 'grpc_executor' (tid=25492, running) created by main thread at:
    #0 pthread_create /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954 (h2_compress_nosec_test+0x00000044d5d3)
    #1 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*) /var/local/git/grpc/src/core/lib/gprpp/thd_posix.cc:73:10 (h2_compress_nosec_test+0x00000067ad76)
    #2 grpc_core::(anonymous namespace)::ThreadInternalsPosix* grpc_core::New<grpc_core::(anonymous namespace)::ThreadInternalsPosix, char const*&, void (*&)(void*), void*&, bool*>(char const*&, void (*&)(void*), void*&, bool*&&) /var/local/git/grpc/./src/core/lib/gprpp/memory.h:52:18 (h2_compress_nosec_test+0x00000067aa33)
    #3 grpc_core::Thread::Thread(char const*, void (*)(void*), void*, bool*) /var/local/git/grpc/src/core/lib/gprpp/thd_posix.cc:142:7 (h2_compress_nosec_test+0x00000067a854)
    #4 grpc_executor_set_threading(bool) /var/local/git/grpc/src/core/lib/iomgr/executor.cc:109:9 (h2_compress_nosec_test+0x0000005f312b)
    #5 grpc_executor_init() /var/local/git/grpc/src/core/lib/iomgr/executor.cc:139:3 (h2_compress_nosec_test+0x0000005f3cf4)
    #6 grpc_iomgr_init() /var/local/git/grpc/src/core/lib/iomgr/iomgr.cc:54:3 (h2_compress_nosec_test+0x0000005650d1)
    #7 grpc_init /var/local/git/grpc/src/core/lib/surface/init.cc:133:5 (h2_compress_nosec_test+0x00000066ca43)
    #8 main /var/local/git/grpc/test/core/end2end/fixtures/h2_compress.cc:123:3 (h2_compress_nosec_test+0x0000004b0d58)
SUMMARY: ThreadSanitizer: data race /var/local/git/grpc/src/core/lib/gpr/alloc.cc:77:3 in gpr_free
==================

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions