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

segfault in qd_entity_refresh_connection

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.6.0
    • 0.7.0
    • None
    • None

    Description

      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x00007fa9828c091c in qd_entity_refresh_connection (entity=0x7fa97508eb40, impl=0x7fa960015480) at /home/gordon/projects/dispatch/src/server.c:342
      342	        conn->connector ? conn->connector->config : conn->listener->config;
      [Current thread is 1 (Thread 0x7fa96ffff700 (LWP 31641))]
      Missing separate debuginfos, use: dnf debuginfo-install cyrus-sasl-gssapi-2.1.26-25.2.fc23.x86_64 cyrus-sasl-lib-2.1.26-25.2.fc23.x86_64 cyrus-sasl-md5-2.1.26-25.2.fc23.x86_64 cyrus-sasl-plain-2.1.26-25.2.fc23.x86_64 cyrus-sasl-scram-2.1.26-25.2.fc23.x86_64 glibc-2.22-11.fc23.x86_64 keyutils-libs-1.5.9-7.fc23.x86_64 krb5-libs-1.14.1-3.fc23.x86_64 libcom_err-1.42.13-3.fc23.x86_64 libdb-5.3.28-13.fc23.x86_64 libffi-3.1-8.fc23.x86_64 libselinux-2.4-4.fc23.x86_64 nss-softokn-freebl-3.23.0-1.0.fc23.x86_64 openssl-libs-1.0.2g-2.fc23.x86_64 pcre-8.38-7.fc23.x86_64 python-libs-2.7.10-8.fc23.x86_64 sssd-client-1.13.3-5.fc23.x86_64 zlib-1.2.8-9.fc23.x86_64
      (gdb) bt
      #0  0x00007fa9828c091c in qd_entity_refresh_connection (entity=0x7fa97508eb40, impl=0x7fa960015480) at /home/gordon/projects/dispatch/src/server.c:342
      #1  0x00007fa977eaad30 in ffi_call_unix64 () from /lib64/libffi.so.6
      #2  0x00007fa977eaa79b in ffi_call () from /lib64/libffi.so.6
      #3  0x00007fa9780bddaf in _ctypes_callproc () from /usr/lib64/python2.7/lib-dynload/_ctypes.so
      #4  0x00007fa9780b79d4 in PyCFuncPtr_call () from /usr/lib64/python2.7/lib-dynload/_ctypes.so
      #5  0x00007fa981c92b03 in PyObject_Call () from /lib64/libpython2.7.so.1.0
      #6  0x00007fa981d28a68 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
      #7  0x00007fa981d2a666 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
      #8  0x00007fa981d2a666 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
      #9  0x00007fa981d2b6b4 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0
      #10 0x00007fa981d2a5c6 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
      #11 0x00007fa981d2b6b4 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0
      #12 0x00007fa981cb75ac in function_call () from /lib64/libpython2.7.so.1.0
      #13 0x00007fa981c92b03 in PyObject_Call () from /lib64/libpython2.7.so.1.0
      #14 0x00007fa981ca195c in instancemethod_call () from /lib64/libpython2.7.so.1.0
      #15 0x00007fa981c92b03 in PyObject_Call () from /lib64/libpython2.7.so.1.0
      #16 0x00007fa981c92be5 in call_function_tail () from /lib64/libpython2.7.so.1.0
      #17 0x00007fa981c92cce in PyObject_CallFunction () from /lib64/libpython2.7.so.1.0
      #18 0x00007fa9828b0917 in qd_io_rx_handler (context=0x7fa975026fc0, msg=0x1a1e8c0, link_id=0) at /home/gordon/projects/dispatch/src/python_embedded.c:516
      #19 0x00007fa9828b6be2 in qdr_forward_on_message (core=<optimized out>, work=0x7fa97004d7c0) at /home/gordon/projects/dispatch/src/router_core/forwarder.c:121
      #20 0x00007fa9828b8d34 in qdr_general_handler (context=0x199e180) at /home/gordon/projects/dispatch/src/router_core/router_core.c:341
      #21 0x00007fa9828c11e5 in thread_run (arg=0x19b79d0) at /home/gordon/projects/dispatch/src/server.c:822
      #22 0x00007fa98242460a in start_thread () from /lib64/libpthread.so.0
      #23 0x00007fa981989a4d in clone () from /lib64/libc.so.6
      (gdb) frame 0
      #0  0x00007fa9828c091c in qd_entity_refresh_connection (entity=0x7fa97508eb40, impl=0x7fa960015480) at /home/gordon/projects/dispatch/src/server.c:342
      342	        conn->connector ? conn->connector->config : conn->listener->config;
      (gdb) print conn
      $1 = (qd_connection_t *) 0x7fa960015480
      (gdb) print conn->connector
      $2 = (qd_connector_t *) 0x0
      (gdb) print conn->listener
      $3 = (qd_listener_t *) 0x0
      (gdb) 
      

      I don't have the exact steps that caused this yet, but core dump shows the basic problem: neither connector nor listener is set and there is no check for this.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gmurthy Ganesh Murthy
            gsim Gordon Sim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment