[ 
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]

Reply via email to