Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-29

Core dump with short-circuit signal name

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Not Evaluated
    • None
    • 1.1.0
    • PySide
    • None

    Description

      Running the following script:

      #!/usr/bin/python
      
      from PySide import QtCore, QtGui
      
      SIGNAL_NAME = 'testSignal'
      
      class EmitterClass(QtCore.QObject):
          def __init__(self):
              super(EmitterClass, self).__init__()
      
          def emitter(self):
              self.emit(QtCore.SIGNAL(SIGNAL_NAME), 100)
      
      class ListeningClass(QtCore.QObject):
          def __init__(self):
              super(ListeningClass, self).__init__()
              self.emitter = EmitterClass()
              QtCore.QObject.connect(self.emitter, QtCore.SIGNAL(SIGNAL_NAME),
                                     self.output)
      
          def output(self, number):
              print number
      
      if __name__ == '__main__':
          c = ListeningClass()
          c.emitter.emitter()
      

      generates the following stack trace:

      Program terminated with signal 11, Segmentation fault.
      #0  0x000000000041aec9 in PyObject_Call ()
      (gdb) bt
      #0  0x000000000041aec9 in PyObject_Call ()
      #1  0x00000000004b5d96 in PyEval_CallObjectWithKeywords ()
      #2  0x00007fcd98fcb2da in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) ()
         from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
      #3  0x00007fcd98fcb75c in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
         from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
      #4  0x00007fcd98550ad9 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
      #5  0x00007fcd98fcb990 in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
         from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
      #6  0x00007fcd98fcbfd7 in PySide::SignalManager::emitSignal(QObject*, char const*, _object*) () from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
      #7  0x00007fcd992f3938 in ?? ()
         from /usr/lib/python2.7/dist-packages/PySide/QtCore.so
      #8  0x00000000004b65c1 in PyEval_EvalFrameEx ()
      #9  0x00000000004b6b97 in PyEval_EvalFrameEx ()
      #10 0x00000000004bcd0d in PyEval_EvalCodeEx ()
      #11 0x00000000004bd7e2 in PyEval_EvalCode ()
      #12 0x00000000004dcc52 in run_mod ()
      #13 0x00000000004dd814 in PyRun_FileExFlags ()
      #14 0x00000000004de28e in PyRun_SimpleFileExFlags ()
      #15 0x00000000004ee6dd in Py_Main ()
      #16 0x00007fcd999a676d in __libc_start_main ()
         from /lib/x86_64-linux-gnu/libc.so.6
      #17 0x000000000041ce39 in _start ()
      

      No valid Python code should be able to cause a core dump.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            blair Blair Zajac
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes