[PySide] 1.1.0 core dump with short-circuit signal name

Blair Zajac blair at orcaware.com
Sat Mar 10 09:23:31 CET 2012


Hello,

I'm new to PySide develop so wanted to open this on the mailing list 
before opening a ticket, being uncertain about bug policy on this project.

The below script core dumps using PySide 1.1.0 on Ubuntu 12.04 Beta 1. 
Can anyone else confirm this on their system.  The same code doesn't 
core dump on Ubuntu 11.10 with PySide 1.0.6.

If it is reproducible, then it seems that it shouldn't core dump, even 
if the code isn't valid PySide code.

Below is a stack trace and the code.

Thanks,
Blair

PS We're moving a large project from PyQt3 to PySide, so that's how I 
ran into this.


Core was generated by `python t3.py'.
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  0x00007f32da0052da in 
PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, 
_object*, bool) ()
    from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#3  0x00007f32da00575c in PySide::SignalManager::qt_metacall(QObject*, 
QMetaObject::Call, int, void**) ()
    from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#4  0x00007f32d958aad9 in QMetaObject::activate(QObject*, QMetaObject 
const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f32da005990 in PySide::SignalManager::qt_metacall(QObject*, 
QMetaObject::Call, int, void**) ()
    from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#6  0x00007f32da005fd7 in PySide::SignalManager::emitSignal(QObject*, 
char const*, _object*) () from 
/usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#7  0x00007f32da32d938 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 0x00007f32da9e076d in __libc_start_main ()
    from /lib/x86_64-linux-gnu/libc.so.6
#17 0x000000000041ce39 in _start ()



#!/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()



More information about the PySide mailing list