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

[http2] Router crash on delete of httpListener

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.17.0
    • 1.17.1
    • Protocol Adaptors
    • None

    Description

      Add a httpListener to the router config listener like this

      httpListener {
          port: 21483
          address: examples
          host: 127.0.0.1
          protocolVersion: HTTP2
          name: http-listener
      } 

      Try deleting the httpListener using qdmanage and the router will crash with the following backtrace

      qdmanage -b 0.0.0.0:21482 DELETE --type=httpListener --name=http-listener 
      ==2430968==ERROR: AddressSanitizer: heap-use-after-free on address 0x6020000036f0 at pc 0x7f05f98ec55d bp 0x7f05e60d3410 sp 0x7f05e60d2bc0
      READ of size 2 at 0x6020000036f0 thread T2
          #0 0x7f05f98ec55c  (/lib64/libasan.so.6+0x5a55c)
          #1 0x7f05f98edeb5 in __interceptor_vsnprintf (/lib64/libasan.so.6+0x5beb5)
          #2 0x51d2e3 in qd_vlog_impl /home/gmurthy/opensource/qpid-dispatch/src/log.c:443
          #3 0x51d8c5 in qd_log_impl /home/gmurthy/opensource/qpid-dispatch/src/log.c:463
          #4 0x73bdae in handle_listener_event /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:2607
          #5 0x6de966 in handle_event_with_context /home/gmurthy/opensource/qpid-dispatch/src/server.c:814
          #6 0x6de9e4 in do_handle_listener /home/gmurthy/opensource/qpid-dispatch/src/server.c:825
          #7 0x6e1443 in handle /home/gmurthy/opensource/qpid-dispatch/src/server.c:1024
          #8 0x6e2fde in thread_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1133
          #9 0x575775 in _thread_init /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:172
          #10 0x7f05f98283f8 in start_thread (/lib64/libpthread.so.0+0x93f8)
          #11 0x7f05f89ce4c2 in __clone (/lib64/libc.so.6+0x1014c2)
      
      0x6020000036f0 is located 0 bytes inside of 16-byte region [0x6020000036f0,0x602000003700)
      freed by thread T3 here:
          #0 0x7f05f993d067 in __interceptor_free (/lib64/libasan.so.6+0xab067)
          #1 0x436e43 in qd_http_free_bridge_config /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http_common.c:93
          #2 0x4378fb in qd_http_listener_decref /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http_common.c:233
          #3 0x73d7b9 in qd_http2_delete_listener /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:2650
          #4 0x437164 in qd_dispatch_delete_http_listener /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http_common.c:138
          #5 0x7f05e6f97b0f in ffi_call_unix64 (/lib64/libffi.so.6+0x6b0f)
          #6 0x7f05e58bc0bf  (<unknown module>)
      
       

      Attachments

        Activity

          People

            gmurthy Ganesh Murthy
            gmurthy Ganesh Murthy
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: