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()
_______________________________________________
PySide mailing list
PyS...@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside
I recommend to you use the new singal/slot API[1], since this is a bug
on the deprecated API this have low priority to fix.
[1]http://qt-project.org/wiki/Signals_and_Slots_in_PySide
Renato Araujo Oliveira Filho
Thanks, however, we're porting an 80k LOC project from PyQt3, so we'll
be using the old signal/slot mechanism for now just to get the app
running and then we may cut over to the new signal/slots.
I'll open a bug report to track this.
Blair