[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