Uploaded image for project: 'AMQ Interconnect'
  1. AMQ Interconnect
  2. ENTMQIC-2745

Router crash when sending an empty transfer frame followed by an abort

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Done
    • None
    • 1.10.1.GA
    • Qpid Dispatch Router
    • None

    Description

      See upstream issue for more details:
          https://issues.apache.org/jira/browse/DISPATCH-1988

      -------------

      When the router receives two transfer frames back to back -

      1. First transfer frame is an empty with more=true
      2. Second transfer frame is also empty but with more=false
      3. Second transfer frame is also empty with more=false and abort=true
      4. Or - the client could send just one empty transfer frame with more=false, abort=false

      Under these conditions, the router crashes with the following backtrace -

       

      Core was generated by `/usr/sbin/qdrouterd -c /opt/app/qpid/etc/qpid-dispatch/qdrouterd.conf'.
      Program terminated with signal 11, Segmentation fault.
      #0  0x00007ff147436882 in qd_message_add_fanout (in_msg=in_msg@entry=0x7ff13529cec8, out_msg=0x7ff1348e15c8) at /usr/src/debug/qpid-dispatch-1.13.0/src/message.c:1172
      1172	        DEQ_INSERT_TAIL(content->buffers, content->pending);
      Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-23.el7.x86_64 glibc-2.17-307.el7.1.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-46.el7.x86_64 libcom_err-1.42.9-17.el7.x86_64 libdb-5.3.21-25.el7.x86_64 libffi-3.0.13-19.el7.x86_64 libselinux-2.5-15.el7.x86_64 libwebsockets-2.4.2-2.el7.x86_64 nss-softokn-freebl-3.44.0-8.el7_7.x86_64 openssl-libs-1.0.2k-19.el7.x86_64 pcre-8.32-17.el7.x86_64 python-libs-2.7.5-88.el7.x86_64 zlib-1.2.7-18.el7.x86_64
      (gdb) bt
      #0  0x00007ff147436882 in qd_message_add_fanout (in_msg=in_msg@entry=0x7ff13529cec8, out_msg=0x7ff1348e15c8) at /usr/src/debug/qpid-dispatch-1.13.0/src/message.c:1172
      #1  0x00007ff147456a29 in qdr_forward_new_delivery_CT (core=core@entry=0x26bcc80, in_dlv=in_dlv@entry=0x7ff108688e48, out_link=0x7ff125fd8cc8, msg=0x7ff13529cec8) at /usr/src/debug/qpid-dispatch-1.13.0/src/router_core/forwarder.c:179
      #2  0x00007ff1474626b7 in qdr_link_deliver_CT (core=0x26bcc80, action=0x27cd888, discard=<optimized out>) at /usr/src/debug/qpid-dispatch-1.13.0/src/router_core/transfer.c:687
      #3  0x00007ff14745ddbd in router_core_thread (arg=0x26bcc80) at /usr/src/debug/qpid-dispatch-1.13.0/src/router_core/router_core_thread.c:193
      #4  0x00007ff146d95ea5 in start_thread () from /lib64/libpthread.so.0
      #5  0x00007ff1460bb96d in ?? () from /lib64/libc.so.6
      #6  0x0000000000000000 in ?? () 

       

      Attachments

        Activity

          People

            gmurthy@redhat.com Ganesh Murthy
            mcressma@redhat.com Michael Cressman
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: