python-qwt5-qt4 segfaults immediately in saucy

Bug #1243102 reported by Olaf Lüke
32
This bug affects 5 people
Affects Status Importance Assigned to Milestone
pyqwt5 (Ubuntu)
Fix Released
Undecided
Unassigned
Saucy
Fix Released
Medium
Brian Murray
Trusty
Fix Released
Undecided
Unassigned

Bug Description

python-qwt5-qt4 segfaults directly after the first Qwt object is created.

Recreate with:

import PyQt4.Qwt5 as Qwt
k = Qwt.QwtKnob()

or run one of the example programs in /usr/share/doc/python-qwt5-doc/qt4examples

Backtrace:

Program received signal SIGSEGV, Segmentation fault.
0xb623805f in qpycore_get_lazy_attr () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.so
(gdb) bt
#0 0xb623805f in qpycore_get_lazy_attr () from /usr/lib/python2.7/dist-packages/PyQt4/QtCore.so
#1 0xb7fc783d in add_lazy_attrs (td=0xb797b3e0) at /build/buildd/sip4-4.15.2/siplib/siplib.c:6678
#2 add_all_lazy_attrs (td=0xb797b3e0) at /build/buildd/sip4-4.15.2/siplib/siplib.c:6699
#3 0xb7fc7cac in sipSimpleWrapper_new (wt=0x853641c, args=0xb7d3602c, kwds=0x0) at /build/buildd/sip4-4.15.2/siplib/siplib.c:9388
#4 0x081413fe in type_call.25511 (type=0x853641c, args=0xb7d3602c, kwds=0x0) at ../Objects/typeobject.c:729
#5 0x080c1e45 in PyObject_Call (kw=0x0, arg=0xb7d3602c, func=0x853641c) at ../Objects/abstract.c:2529
#6 do_call (nk=0, na=<optimized out>, pp_stack=0xbfffee2c, func=0x853641c) at ../Python/ceval.c:4239
#7 call_function (oparg=<optimized out>, pp_stack=0xbfffee2c) at ../Python/ceval.c:4044
#8 PyEval_EvalFrameEx (f=f@entry=0x83adfac, throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#9 0x080c8702 in PyEval_EvalCodeEx (co=0xb7cc8a88, globals=0xb7d66714, locals=0xb7d66714, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3253
#10 0x081aed77 in PyEval_EvalCode (co=0xb7cc8a88, globals=0xb7d66714, locals=0xb7d66714) at ../Python/ceval.c:667
#11 0x080a9be7 in run_mod (mod=<optimized out>, filename=<optimized out>, globals=0xb7d66714, locals=0xb7d66714, flags=0xbffff01c, arena=0x836ff88) at ../Python/pythonrun.c:1365
#12 0x080aa4fd in PyRun_FileExFlags (fp=fp@entry=0x83745b8, filename=filename@entry=0xbffff32a "test.py", start=start@entry=257, globals=globals@entry=0xb7d66714, locals=locals@entry=0xb7d66714,
    closeit=closeit@entry=1, flags=flags@entry=0xbffff01c) at ../Python/pythonrun.c:1351
#13 0x080aadc0 in PyRun_SimpleFileExFlags (fp=0x83745b8, filename=<optimized out>, closeit=1, flags=0xbffff01c) at ../Python/pythonrun.c:943
#14 0x080aaeb3 in PyRun_AnyFileExFlags (fp=fp@entry=0x83745b8, filename=<optimized out>, filename@entry=0xbffff32a "test.py", closeit=closeit@entry=1, flags=flags@entry=0xbffff01c)
    at ../Python/pythonrun.c:747
#15 0x080abb1d in Py_Main (argc=argc@entry=2, argv=argv@entry=0xbffff154) at ../Modules/main.c:640
#16 0x080abbfc in main (argc=2, argv=0xbffff154) at ../Modules/python.c:23

olaf@pc:~$ lsb_release -rd
Description: Ubuntu 13.10
Release: 13.10

olaf@pc:~$ apt-cache policy python-qwt5-qt4
python-qwt5-qt4:
  Installed: 5.2.1~cvs20091107+dfsg-6+b3build2
  Candidate: 5.2.1~cvs20091107+dfsg-6+b3build2
  Version table:
 *** 5.2.1~cvs20091107+dfsg-6+b3build2 0
        500 http://de.archive.ubuntu.com/ubuntu/ saucy/universe i386 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Olaf Lüke (borg) wrote :

Additional infos:

I just tried the qwt5 examples with c++: They work. So the segfault must have to do with the Python bindings.

The two changes in saucy according to the changelog are:
* No change rebuild to get a higher version than the sip4 breaks
* No-change rebuild for sip-api dependency

The qpycore_get_lazy_attr() function that causes the segfault is called from within sip. So the problem might have to do with a failed rebuild a changed API of sip or similar.

Revision history for this message
Olaf Lüke (borg) wrote :

Alright, i rebuild and reinstalled the python-qwt5-qt4 package:

apt-get source python-qwt5-qt4
mk-build-deps -i -r python-qwt5-qt4
fakeroot debian/rules binary
dpkg -i ../python-qwt5-qt4_5.2.1~cvs20091107+dfsg-6+b3build2_i386.deb

Now the segfault is gone.

Could someone please rebuild and reupload the package?

Thank you!

Changed in pyqwt5 (Ubuntu):
assignee: nobody → Scott Kitterman (kitterman)
Changed in pyqwt5 (Ubuntu Trusty):
assignee: Scott Kitterman (kitterman) → nobody
Revision history for this message
Olaf Lüke (borg) wrote :

Since i currently aren't able to find a sponsor that rebuilds the package i made a ppa with a fixed package for the meantime: https://launchpad.net/~borg/+archive/ppa/+packages

I also attached a debdiff.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pyqwt5 (Ubuntu Saucy):
status: New → Confirmed
Changed in pyqwt5 (Ubuntu):
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pyqwt5 - 5.2.1~cvs20091107+dfsg-6+b3build3

---------------
pyqwt5 (5.2.1~cvs20091107+dfsg-6+b3build3) trusty; urgency=low

  * No changes, rebuild for sip-api dependency (LP: #1243102)
 -- Olaf Lueke <email address hidden> Thu, 31 Oct 2013 12:31:25 +0100

Changed in pyqwt5 (Ubuntu Trusty):
status: Confirmed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

I've uploaded this to saucy thanks!

Changed in pyqwt5 (Ubuntu Saucy):
assignee: nobody → Brian Murray (brian-murray)
status: Confirmed → In Progress
importance: Undecided → Medium
Revision history for this message
Stéphane Graber (stgraber) wrote : Please test proposed package

Hello Olaf, or anyone else affected,

Accepted pyqwt5 into saucy-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/pyqwt5/5.2.1~cvs20091107+dfsg-6+b3build2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in pyqwt5 (Ubuntu Saucy):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Robert Proepper (robert-proepper) wrote :

Tested version 5.2.1~cvs20091107+dfsg-6+b3build2.1 from saucy-proposed, fixes the error for me.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Olaf Lüke (borg) wrote :

Version 5.2.1~cvs20091107+dfsg-6+b3build2.1 from saucy-proposed works fine for me too. Thanks!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pyqwt5 - 5.2.1~cvs20091107+dfsg-6+b3build2.1

---------------
pyqwt5 (5.2.1~cvs20091107+dfsg-6+b3build2.1) saucy; urgency=low

  * No changes, rebuild for sip-api dependency (LP: #1243102)
 -- Olaf Lueke <email address hidden> Fri, 15 Nov 2013 15:38:56 -0800

Changed in pyqwt5 (Ubuntu Saucy):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for pyqwt5 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.