[PyQt] Segfault when building wxPython with SIP 4.19.11
Scott Talbert
swt at techie.net
Sat Jul 7 02:07:59 BST 2018
On Fri, 6 Jul 2018, Phil Thompson wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm seeing a segfault when building wxPython with SIP 4.19.11.
>>>>>>>
>>>>>>> Running command: sip
>>>>>>> /usr/bin/sip -w -o -g -I /home/talbert/Downloads/wxPython-4.0.1/src -I
>>>>>>> /home/talbert/Downloads/wxPython-4.0.1/sip/gen -c /tmp/tmpdH4lfu -b
>>>>>>> sip/cpp/_core.sbf -X pycode_core:wx/core.py sip/gen/_core.sip
>>>>>>> Segmentation fault (core dumped)
>>>>>>>
>>>>>>> (gdb) bt
>>>>>>> #0 prcode (fp=fp at entry=0x55f0f0d13ed0, fmt=0x55f0f042adc7
>>>>>>> "\");\n#else\n",
>>>>>>> fmt at entry=0x55f0f042ad58 " /* Get the SIP module's API. */\n#if
>>>>>>> PY_VERSION_HEX >= 0x02050000\n sip_sipmod =
>>>>>>> PyImport_ImportModule(\"%s\");\n#else\n")
>>>>>>> at ./sipgen/gencode.c:14489
>>>>>>> #1 0x000055f0f04004e6 in generateSipImport (mod=0x55f0f0d14180,
>>>>>>> fp=0x55f0f0d13ed0, sipName=0x0) at ./sipgen/gencode.c:2775
>>>>>>> #2 generateCpp (pt=pt at entry=0x7ffd5c4cabc0, mod=<optimized out>,
>>>>>>> codeDir=codeDir at entry=0x7ffd5c4cc455 "/tmp/tmpdH4lfu",
>>>>>>> srcSuffix=srcSuffix at entry=0x55f0f0422866 ".cpp",
>>>>>>> parts=parts at entry=0,
>>>>>>> needed_qualifiers=needed_qualifiers at entry=0x0, xsl=0x0,
>>>>>>> py_debug=0,
>>>>>>> sipName=0x0) at ./sipgen/gencode.c:2561
>>>>>>> #3 0x000055f0f0403269 in generateCode (pt=0x7ffd5c4cabc0,
>>>>>>> codeDir=0x7ffd5c4cc455 "/tmp/tmpdH4lfu",
>>>>>>> buildFile=0x7ffd5c4cc467 "sip/cpp/_core.sbf", docFile=<optimized
>>>>>>> out>,
>>>>>>> srcSuffix=0x55f0f0422866 ".cpp", except=<optimized out>, trace=0,
>>>>>>> releaseGIL=1, parts=0, needed_qualifiers=0x0, xsl=0x0,
>>>>>>> consModule=0x0,
>>>>>>> docs=1, py_debug=0, sipName=0x0) at ./sipgen/gencode.c:358
>>>>>>> #4 0x000055f0f03e4e15 in main (argc=15, argv=0x7ffd5c4cae58)
>>>>>>> at ./sipgen/main.c:291
>>>>>>>
>>>>>>> 4.19.8 worked ok.
>>>>>>
>>>>>> It should be fixed in the current snapshot. 4.19.12 will be released
>>>>>> over the weekend.
>>>>>
>>>>> However there are slight changes to the way a private sip module is
>>>>> specified. I don’t know if this affects how wxPython is built.
>>>>
>>>> I don't know either. When I build wxPython, I am building it for
>>>> Fedora or Debian packages, and I build it using the public sip module,
>>>> stripping out the bundled copy.
>>>
>>> How do you know that the two are compatible?
>>
>> That wxPython is compatible with a given version of sip, or whether a
>> public sip module is compatible with the version of sip that wxPython
>> was compiled with?
>
> Both.
Well, for the first problem, I always make sure that I'm using the
recommended version of sip (or higher). I suppose there's a possibility
that something could break in a future version of sip, but that generally
hasn't happened.
For the second problem, the public sip module will always be at the same
version as the compiled version or higher. I'm supposing that by
recommending that sip consumers all use private copies of the module,
you're suggesting that there may be problems (in the future?) where a
newer version of the public module would not function with an older
compiled consumer?
Scott
More information about the PyQt
mailing list