Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-1844

sys_mutex leak detected by LeakSanitizer ASAN (shutdown)

    XMLWordPrintableJSON

Details

    Description

      The LSAN (ASAN) leak sanitizer occasionally detects a leak of sys_mutex items that are used by the qd_message_t content:

       

      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)
      

      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.

      Attachments

        Issue Links

          Activity

            People

              kgiusti Ken Giusti
              kgiusti Ken Giusti
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: