[PyQt] Crash (assert fail) in 'sip_api_convert_from_new_type'

Wilbert Berendsen wbsoft at xs4all.nl
Mon Feb 27 10:41:06 GMT 2012


Hi,

A SIP-generated binding (python-poppler-qt4) causes a crash with the
following message on the console:

python: /build/buildd/sip4-4.13.2/siplib/siplib.c:8164:
sip_api_convert_from_new_type: Assertion `(((td)->td_flags & 0x0007) ==
0x0000)' failed. Aborted (core dumped)

The StacktraceTop is:
 __assert_fail_base (fmt=<optimized out>, assertion=0x7f9a6665d058
"(((td)->td_flags & 0x0007) == 0x0000)", file=0x7f9a6665ceb0
"/build/buildd/sip4-4.13.2/siplib/siplib.c", line=<optimized out>,
function=<optimized out>) at assert.c:94 __GI___assert_fail
(assertion=0x7f9a6665d058 "(((td)->td_flags & 0x0007) == 0x0000)",
file=0x7f9a6665ceb0 "/build/buildd/sip4-4.13.2/siplib/siplib.c",
line=8164, function=0x7f9a6665c7f0 "sip_api_convert_from_new_type") at
assert.c:103 sip_api_convert_from_new_type (cpp=0x2cb8320,
td=0x7f9a665f63b0, transferObj=0x0)
at /build/buildd/sip4-4.13.2/siplib/siplib.c:8164
meth_Poppler_LinkBrowse_url (sipSelf=<LinkBrowse at remote 0x285fb00>,
sipArgs=<optimized out>) at
build/temp.linux-x86_64-2.7/sippopplerqt4PopplerLinkBrowse.cpp:91
PyEval_EvalFrameEx ()


Sip 4.13.2 is used, more stacktraces are available here:
https://bugs.launchpad.net/ubuntu/+source/frescobaldi/+bug/939196

The binding code is here:
http://code.google.com/p/python-poppler-qt4/source/browse/#svn%2Ftrunk%2Fpython-poppler-qt4


What could be the cause of the failed assertion? Is it a bug in the
binding code of python-poppler-qt4, or in SIP itself?

Thanks for any enlightment :)

-- 
Wilbert Berendsen
(http://www.wilbertberendsen.nl)



More information about the PyQt mailing list