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

Blair Zajac blair at orcaware.com
Sat Mar 10 17:09:20 CET 2012


Hi Renato,

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

On 03/10/2012 05:45 AM, Renato Araujo wrote:
> Hi Blair,
>
> 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
>
>
>
> On Sat, Mar 10, 2012 at 5:23 AM, Blair Zajac<blair at orcaware.com>  wrote:
>> 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()
>> _______________________________________________
>> PySide mailing list
>> PySide at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/pyside
>




More information about the PySide mailing list