[PyQt] crash in sip.cast
Nathan Cournia
cournia at gmail.com
Wed Mar 17 01:32:57 GMT 2010
Hi,
The following script segfaults:
import sys
import sip
from PyQt4.QtGui import *
a = QApplication(sys.argv)
# create a menu
b = QMenu()
# cast it to a widget
c = sip.cast(b, QWidget)
# cast the widget, which is really a menu, back to a menu.
# this line crashes
d = sip.cast(c, QMenu)
Here's the stack trace...
#0 0x5573cf09 in cast (self=0x0, args=0x83c570c) at siplib.c:907
#1 0x555eccf0 in PyCFunction_Call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#2 0x5566465a in call_function () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#3 0x55660f83 in PyEval_EvalFrameEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#4 0x55662980 in PyEval_EvalCodeEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#5 0x5565b76c in PyEval_EvalCode () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#6 0x5568a3a2 in run_mod () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#7 0x5568a328 in PyRun_FileExFlags () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#8 0x556562f3 in builtin_execfile () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#9 0x555eccf0 in PyCFunction_Call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#10 0x5566465a in call_function () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#11 0x55660f83 in PyEval_EvalFrameEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#12 0x55662980 in PyEval_EvalCodeEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#13 0x5565b76c in PyEval_EvalCode () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#14 0x5566620a in exec_statement () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#15 0x5565ed88 in PyEval_EvalFrameEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#16 0x55662980 in PyEval_EvalCodeEx () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#17 0x555d61ca in function_call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#18 0x555a5810 in PyObject_Call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#19 0x555bbeae in instancemethod_call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#20 0x555a5810 in PyObject_Call () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
#21 0x555a5e03 in PyObject_CallMethodObjArgs () from
/usr/apps/python/python-2.6.1/lib/libpython2.6.so.1.0
The following line in siplib.c:907:cast() is crashing:
if ((addr = sip_api_get_cpp_ptr(sw, type->type)) == NULL)
return NULL;
Above, "type" (the one left of ->) is NULL.
I'm using sip-4.10, PyQt-x11-gpl-4.7, and Qt 4.5.3.
Am I using sip.cast incorrectly? Any help would be greatly appreciated.
Thanks,
nathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20100316/ffbd2deb/attachment.html>
More information about the PyQt
mailing list