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

Router might crash during initialization due to improper CPython API usage

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.19.0
    • 1.20.0
    • None
    • None

    Description

      The following is a stacktrace from skupper-router, but as code inspection reveals, dispatch suffers from the same invalid API usage that is causing this

      Program received signal SIGSEGV, Segmentation fault.
      0x00007f9a8b9da771 in _PyInterpreterState_GET () at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Include/internal/pycore_pystate.h:118
      118         return tstate->interp;
      (gdb) bt
      #0  0x00007f9a8b9da771 in _PyInterpreterState_GET () at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Include/internal/pycore_pystate.h:118
      #1  get_state () at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/obmalloc.c:866
      #2  _PyObject_Malloc (ctx=<optimized out>, nbytes=77) at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/obmalloc.c:1563
      #3  0x00007f9a8b9e206b in PyObject_Malloc (size=<optimized out>) at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/obmalloc.c:801
      #4  PyUnicode_New (size=36, maxchar=<optimized out>) at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/unicodeobject.c:1208
      #5  0x00007f9a8b9e145c in unicode_decode_utf8 (s=<optimized out>, size=36, error_handler=error_handler@entry=_Py_ERROR_UNKNOWN, errors=errors@entry=0x0, consumed=consumed@entry=0x0)
          at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/unicodeobject.c:4647
      #6  0x00007f9a8b9e13e9 in PyUnicode_DecodeUTF8Stateful (consumed=0x0, errors=0x0, size=<optimized out>, s=<optimized out>) at /usr/src/debug/python3.12-3.12.0-1.fc39.x86_64/Objects/unicodeobject.c:4780
      #7  0x0000000000467b50 in qd_python_initialize (python_pkgdir=0x4c2848 "/usr/local/lib/skupper-router/python", qd=<optimized out>) at /root/work/skupper-router/src/python_embedded.c:52
      #8  qd_dispatch (python_pkgdir=0x4c2848 "/usr/local/lib/skupper-router/python", test_hooks=<optimized out>) at /root/work/skupper-router/src/dispatch.c:137
      #9  0x000000000042cea7 in main_process (config_path=config_path@entry=0x4c27d0 "/usr/local/etc/skupper-router/skrouterd.conf", python_pkgdir=python_pkgdir@entry=0x4c2848 "/usr/local/lib/skupper-router/python", test_hooks=false,
          fd=fd@entry=2) at /root/work/skupper-router/router/src/main.c:97
      #10 0x0000000000428e50 in main (argc=1, argv=0x7ffef77c64e8) at /root/work/skupper-router/router/src/main.c:365
      (gdb) p tstate
      $1 = (PyThreadState *) 0x0
      

      See the fix in skupper-router at https://github.com/skupperproject/skupper-router/pull/1307

      Attachments

        Activity

          People

            jdanek Jiri Daněk
            jdanek Jiri Daněk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: