[
https://issues.apache.org/jira/browse/DISPATCH-1844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jiri Daněk updated DISPATCH-1844:
---------------------------------
Description:
The LSAN (ASAN) leak sanitizer occasionally detects a leak of sys_mutex items
that are used by the qd_message_t content:
{noformat}
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)
{noformat}
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.
was:
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.
> 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
> Labels: lsan
> 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:
>
> {noformat}
> 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)
> {noformat}
> 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]