[
https://issues.apache.org/jira/browse/DISPATCH-1844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17305405#comment-17305405
]
Jiri Daněk commented on DISPATCH-1844:
--------------------------------------
This now happens every time in system_tests_http2. The leak is currently
suppressed in {{lsan.supp}}.
{noformat}
69: test_zzz_http_connector_delete
(system_tests_http2.Http2TestEdgeToEdgeViaInteriorRouter) ... ok
69:
69: Router EDGE.A debug dump file:
69: >>>>
69: alloc.c: Items of type 'qd_iterator_t' remain allocated at shutdown: 9
(SUPPRESSED)
69: alloc.c: Items of type 'qd_timer_t' remain allocated at shutdown: 1
(SUPPRESSED)
69: alloc.c: Items of type 'qd_buffer_t' remain allocated at shutdown: 3
(SUPPRESSED)
69: alloc.c: Items of type 'qd_connector_t' remain allocated at shutdown: 1
(SUPPRESSED)
69: alloc.c: Items of type 'qd_message_t' remain allocated at shutdown: 3
(SUPPRESSED)
69: alloc.c: Items of type 'qd_message_content_t' remain allocated at shutdown:
2 (SUPPRESSED)
69: alloc.c: Items of type 'qdr_delivery_t' remain allocated at shutdown: 3
(SUPPRESSED)
69: alloc.c: Items of type 'qd_link_ref_t' remain allocated at shutdown: 1
(SUPPRESSED)
69: alloc.c: Items of type 'qd_parsed_field_t' remain allocated at shutdown: 4
(SUPPRESSED)
69:
69: <<<<
69:
69: Router EDGE.A output file:
69: >>>>
69: ../src/router_core/core_link_endpoint.c:143:25: runtime error: store to
misaligned address 0x616000137e9c for type 'uint64_t', which requires 8 byte
alignment
69: 0x616000137e9c: note: pointer points here
69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
69: ^
69: ../src/router_core/core_link_endpoint.c:124:24: runtime error: store to
misaligned address 0x616000137e9c for type 'uint64_t', which requires 8 byte
alignment
69: 0x616000137e9c: note: pointer points here
69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
69: ^
69:
69: =================================================================
69: ==3569==ERROR: LeakSanitizer: detected memory leaks
69:
69: Direct leak of 64 byte(s) in 1 object(s) allocated from:
69: #0 0x7f73f8dedaa5 in posix_memalign
(/lib/x86_64-linux-gnu/libasan.so.5+0x10eaa5)
69: #1 0x7f73f85c6754 in sys_mutex ../src/posix/threading.c:41
69: #2 0x7f73f8581f27 in qd_message ../src/message.c:1012
69: #3 0x7f73f8732f7f in create_http2_stream_data
../src/adaptors/http2/http2_adaptor.c:408
69: #4 0x7f73f8733d58 in on_begin_headers_callback
../src/adaptors/http2/http2_adaptor.c:632
69: #5 0x7f73f6a83af1 (/lib/x86_64-linux-gnu/libnghttp2.so.14+0xbaf1)
69:
69: Direct leak of 64 byte(s) in 1 object(s) allocated from:
69: #0 0x7f6a26c66aa5 in posix_memalign
(/lib/x86_64-linux-gnu/libasan.so.5+0x10eaa5)
69: #1 0x7f6a2643f754 in sys_mutex ../src/posix/threading.c:41
69: #2 0x7f6a263faf27 in qd_message ../src/message.c:1012
69: #3 0x7f6a265abf7f in create_http2_stream_data
../src/adaptors/http2/http2_adaptor.c:408
69: #4 0x7f6a265c97b0 in qdr_http_deliver
../src/adaptors/http2/http2_adaptor.c:1888
69: #5 0x7f6a2651ce76 in qdr_link_process_deliveries
../src/router_core/transfer.c:175
69: #6 0x7f6a26475cf1 in qdr_connection_process
../src/router_core/connections.c:412
69: #7 0x7f6a265caab0 in handle_connection_event
../src/adaptors/http2/http2_adaptor.c:2398
69: #8 0x7f6a2657c1b5 in handle_event_with_context ../src/server.c:804
69: #9 0x7f6a2657c1b5 in do_handle_raw_connection_event ../src/server.c:810
69: #10 0x7f6a2657c1b5 in handle ../src/server.c:1090
69: #11 0x7f6a265846e5 in thread_run ../src/server.c:1122
69: #12 0x7f6a25e0e608 in start_thread
(/lib/x86_64-linux-gnu/libpthread.so.0+0x9608)
69:
69: -----------------------------------------------------
69: Suppressions used:
69: count bytes template
69: 7 465 qd_dispatch_configure_connector
69: 7 65 load_server_config
69: 1 64 qd_message_receive
69: 1 24 ^pn_condition$
69: 1 1536 ^pn_raw_connection$
69: 1 56 qdr_core_subscribe
69: 12 6656 ^_PyObject_Realloc
69: 588 893426 ^PyObject_Malloc$
69: 1 32 ^PyThread_allocate_lock$
69: 4 9897 ^PyMem_Malloc$
69: 1 856 ^_PyObject_GC_Resize$
69: 1 848 ^list_resize$
69: 5 248 ^pn_object_new$
69: 1 128 ^pn_list$
69: 2 48 ^pni_record_create$
69: -----------------------------------------------------
69:
69: SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).
{noformat}
> sys_mutex leak detected by LeakSanitizer ASAN (shutdown)
> --------------------------------------------------------
>
> Key: DISPATCH-1844
> URL: https://issues.apache.org/jira/browse/DISPATCH-1844
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Router Node
> Affects Versions: 1.14.0
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Major
> Fix For: 1.16.0
>
>
> The LSAN (ASAN) leak sanitizer occasionally detects a leak of sys_mutex items
> that are used by the qd_message_t content:
>
> {quote}70: ==1475684==ERROR: LeakSanitizer: detected memory leaks
> 70:
> 70: Direct leak of 128 byte(s) in 2 object(s) allocated from:
> 70: #0 0x7f52044ebbf5 in __interceptor_posix_memalign
> (/lib64/libasan.so.5+0x10ebf5)
> 70: #1 0x7f5203b7e2cc in sys_mutex
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:41
> 70: #2 0x7f5203b31b0f in qd_message
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1012
> 70: #3 0x7f5203a9edae in _server_rx_headers_done_cb
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_server.c:862
>
> 70: #4 0x7f5203a64d2a in process_headers_done
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_codec.c:831
>
> 70: #5 0x7f5203a66411 in parse_header
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_codec.c:911
>
> 70: #6 0x7f5203a6d065 in decode_incoming
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_codec.c:1301
>
> 70: #7 0x7f5203a6e09a in h1_codec_connection_rx_data
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_codec.c:1346
>
> 70: #8 0x7f5203a9a3fe in _handle_connection_events
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http1/http1_server.c:562
>
> 70: #9 0x7f5203ceb754 in handle_event_with_context
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:804
> 70: #10 0x7f5203ceb796 in do_handle_raw_connection_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:810
> 70: #11 0x7f5203ceffe5 in handle
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1090
> 70: #12 0x7f5203cf0297 in thread_run
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
> 70: #13 0x7f5203cf770f in qd_server_run
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1484
> 70: #14 0x4026f8 in main_process
> /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:113
> 70: #15 0x404576 in main
> /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
> 70: #16 0x7f52025761a2 in __libc_start_main (/lib64/libc.so.6+0x271a2)
> {quote}
> This leak is easily triggered by the HTTP1 adaptor but can also be triggered
> using plain AMQP.
> This is a shutdown leak. This occurs when a qdr_delivery_t is left on the
> link's updated_deliveries list at the point where the shutdown occurs.
> Since this is a shutdown leak I will add a suppression to the lsan.supp list
> for now - this Jira remains open until the issue is actually fixed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]