You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2021/11/01 14:41:00 UTC

[jira] [Commented] (DISPATCH-2143) race getting/setting qdr_delivery_t->disposition

    [ https://issues.apache.org/jira/browse/DISPATCH-2143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17436867#comment-17436867 ] 

Jiri Daněk commented on DISPATCH-2143:
--------------------------------------

https://github.com/apache/qpid-dispatch/runs/4068760540?check_suite_focus=true#step:27:1473

{noformat}
63: WARNING: ThreadSanitizer: data race (pid=3569)
63:   Read of size 1 at 0x7b44000074d4 by main thread:
63:     #0 qdr_connection_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:403 (qdrouterd+0x492767)
63:     #1 AMQP_writable_conn_handler /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:299 (qdrouterd+0x4cfc9d)
63:     #2 writable_handler /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:388 (qdrouterd+0x45c260)
63:     #3 qd_container_handle_event /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:744 (qdrouterd+0x45eda0)
63:     #4 handle /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1108 (qdrouterd+0x4d8a51)
63:     #5 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 (qdrouterd+0x4dad94)
63:     #6 qd_server_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 (qdrouterd+0x4db96c)
63:     #7 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x426d6c)
63:     #8 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42624c)
63: 
63:   Previous write of size 1 at 0x7b44000074d4 by thread T1:
63:     #0 qdr_delivery_mcast_outbound_settled_CT /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:889 (qdrouterd+0x4a0697)
63:     #1 qdr_delivery_mcast_outbound_update_CT /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:1020 (qdrouterd+0x4a0697)
63:     #2 qdr_update_delivery_CT /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:680 (qdrouterd+0x4a12c5)
63:     #3 router_core_thread /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/router_core_thread.c:236 (qdrouterd+0x4b55fa)
63:     #4 _thread_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x48162d)
63: 
63:   Location is heap block of size 320 at 0x7b4400007440 allocated by main thread:
63:     #0 posix_memalign <null> (libtsan.so.0+0x32a23)
63:     #1 qd_alloc /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/alloc_pool.c:396 (qdrouterd+0x44abd9)
63:     #2 new_qdr_delivery_t /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:24 (qdrouterd+0x49d23c)
63:     #3 qdr_link_deliver /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/transfer.c:47 (qdrouterd+0x4baf45)
63:     #4 AMQP_rx_handler /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:877 (qdrouterd+0x4d3016)
63:     #5 do_receive /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:219 (qdrouterd+0x45f064)
63:     #6 qd_container_handle_event /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:734 (qdrouterd+0x45f064)
63:     #7 handle /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1108 (qdrouterd+0x4d8a51)
63:     #8 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 (qdrouterd+0x4dad14)
63:     #9 qd_server_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 (qdrouterd+0x4db96c)
63:     #10 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x426d6c)
63:     #11 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42624c)
63: 
63:   Thread T1 (tid=3571, running) created by main thread at:
63:     #0 pthread_create <null> (libtsan.so.0+0x5bf45)
63:     #1 sys_thread /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x481abc)
63:     #2 qdr_core /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/router_core.c:124 (qdrouterd+0x4af560)
63:     #3 qd_router_setup_late /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:2127 (qdrouterd+0x4d3e28)
63:     #4 ffi_call_unix64 <null> (libffi.so.6+0x6c03)
63:     #5 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:97 (qdrouterd+0x426d0c)
63:     #6 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42624c)
63: 
63: SUMMARY: ThreadSanitizer: data race /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:403 in qdr_connection_process
63: ==================
63: ThreadSanitizer: reported 1 warnings
{noformat}

> race getting/setting qdr_delivery_t->disposition
> ------------------------------------------------
>
>                 Key: DISPATCH-2143
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2143
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>    Affects Versions: 1.16.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Major
>              Labels: race-condition, tsan
>             Fix For: 1.18.0
>
>
> 62: test_999_check_for_leaks (system_tests_multicast.MulticastLinearTest) ... ok
> 62: WARNING: ThreadSanitizer: data race (pid=16451)
> 62: Write of size 8 at 0x7b4400019568 by thread T1:
> 62: #0 qdr_delivery_mcast_outbound_disposition_CT /home/travis/build/apache/qpid-dispatch/src/router_core/delivery.c:989 (libqpid-dispatch.so+0xb59ef)
> 62: #1 qdr_delivery_mcast_outbound_update_CT /home/travis/build/apache/qpid-dispatch/src/router_core/delivery.c:1015 (libqpid-dispatch.so+0xb59ef)
> 62: #2 qdr_update_delivery_CT /home/travis/build/apache/qpid-dispatch/src/router_core/delivery.c:680 (libqpid-dispatch.so+0xb6475)
> 62: #3 router_core_thread /home/travis/build/apache/qpid-dispatch/src/router_core/router_core_thread.c:239 (libqpid-dispatch.so+0xca645)
> 62: #4 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x96f16)
> 62: #5 <null> <null> (libtsan.so.0+0x2d1af)
> 62: Previous read of size 8 at 0x7b4400019568 by thread T2:
> 62: #0 qdr_connection_process /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:403 (libqpid-dispatch.so+0xa7fbd)
> 62: #1 AMQP_writable_conn_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:299 (libqpid-dispatch.so+0xe3e01)
> 62: #2 writable_handler /home/travis/build/apache/qpid-dispatch/src/container.c:395 (libqpid-dispatch.so+0x76264)
> 62: #3 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:747 (libqpid-dispatch.so+0x76264)
> 62: #4 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1096 (libqpid-dispatch.so+0xed0b1)
> 62: #5 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1121 (libqpid-dispatch.so+0xf0a5c)
> 62: #6 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x96f16)
> 62: #7 <null> <null> (libtsan.so.0+0x2d1af)
> 62: Location is heap block of size 320 at 0x7b4400019500 allocated by thread T2:
> 62: #0 posix_memalign <null> (libtsan.so.0+0x3048d)
> 62: #1 qd_alloc /home/travis/build/apache/qpid-dispatch/src/alloc_pool.c:396 (libqpid-dispatch.so+0x614c4)
> 62: #2 new_qdr_delivery_t /home/travis/build/apache/qpid-dispatch/src/router_core/delivery.c:24 (libqpid-dispatch.so+0xb25e5)
> 62: #3 qdr_link_deliver_to /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:82 (libqpid-dispatch.so+0xd046d)
> 62: #4 AMQP_rx_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:818 (libqpid-dispatch.so+0xe62df)
> 62: #5 do_receive /home/travis/build/apache/qpid-dispatch/src/container.c:227 (libqpid-dispatch.so+0x76574)
> 62: #6 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:737 (libqpid-dispatch.so+0x76574)
> 62: #7 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1096 (libqpid-dispatch.so+0xed0b1)
> 62: #8 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1121 (libqpid-dispatch.so+0xf0a5c)
> 62: #9 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x96f16)
> 62: #10 <null> <null> (libtsan.so.0+0x2d1af)
> 62: Thread T1 (tid=16453, running) created by main thread at:
> 62: #0 pthread_create <null> (libtsan.so.0+0x5ea99)
> 62: #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (libqpid-dispatch.so+0x974d2)
> 62: #2 qdr_core /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:124 (libqpid-dispatch.so+0xc4bee)
> 62: #3 qd_router_setup_late /home/travis/build/apache/qpid-dispatch/src/router_node.c:2123 (libqpid-dispatch.so+0xe865c)
> 62: #4 <null> <null> (libffi.so.7+0x6ff4)
> 62: #5 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:97 (qdrouterd+0x2bb2)
> 62: #6 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2882)
> 62: Thread T2 (tid=16454, running) created by main thread at:
> 62: #0 pthread_create <null> (libtsan.so.0+0x5ea99)
> 62: #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (libqpid-dispatch.so+0x974d2)
> 62: #2 qd_server_run /home/travis/build/apache/qpid-dispatch/src/server.c:1499 (libqpid-dispatch.so+0xf0cca)
> 62: #3 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x2c27)
> 62: #4 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2882)
> 62: SUMMARY: ThreadSanitizer: data race /home/travis/build/apache/qpid-dispatch/src/router_core/delivery.c:989 in qdr_delivery_mcast_outbound_disposition_CT



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org