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

Phil Thompson phil at riverbankcomputing.com
Mon Feb 27 11:03:50 GMT 2012


On Mon, 27 Feb 2012 11:41:06 +0100, Wilbert Berendsen <wbsoft at xs4all.nl>
wrote:
> 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 :)

The stack traces aren't helpful as they don't include symbols.

What's the value of td->td_flags when the assertion fails?

Phil


More information about the PyQt mailing list