Package: pyqwt5
Version: rebuild to solve an sip4 bug
Severity: important

hello

I am affected by this bug.

https://bugs.launchpad.net/ubuntu/+source/pyqwt5/+bug/672509

See this thread:
http://sourceforge.net/mailarchive/message.php?msg_name=59332.88.79.237.11.1288303088.squirrel%40web-mail.cells.es

I recompile pyqwt5 with unstable, but it did not solve this problem.

I attached, a python script sent by the first reporter that can show the error.

hope it can helps

thanks

Frederic

-- System Information:
Debian Release: wheezy/sid
  APT prefers oldstable
  APT policy: (500, 'oldstable'), (500, 'unstable'), (500, 'testing'), (500, 
'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
'''
This code checks if a known bug in some PyQwt versions affects your installation.
Simply run this script and see the diagnosis in the std output.

If you are affected, the solution is to install/compile a newer version of PyQwt/SIP 

Notably, the python-qwt5-qt4 package originally shipped with 
Ubuntu 10.10 is affected

In some systems, the bug produces a segfault while in some others it 
produces an Assertion error similar to the following:
python: /build/buildd/sip4-qt3-4.10.5/siplib/siplib.c:2600: sip_api_parse_result: Assertion `assign_helper != ((void *)0)' failed.

See also: 
https://bugs.launchpad.net/ubuntu/+source/pyqwt5/+bug/672509
http://www.esrf.eu/mail_archives/tango/archive/msg04025.html
'''

from PyQt4 import Qt, Qwt5

class MyScaleDrawSafe(Qwt5.QwtScaleDraw):
    def __init__(self, format = None, palette = None):
        Qwt5.QwtScaleDraw.__init__(self)

class MyScaleDrawDanger(Qwt5.QwtScaleDraw):
    def __init__(self, format = None, palette = None):
        Qwt5.QwtScaleDraw.__init__(self)

    def label(self, val):
        return Qwt5.QwtScaleDraw.label(self, val)


class MyPlot(Qwt5.QwtPlot):
    def __init__(self, parent = None, designMode = False):
        Qwt5.QwtPlot.__init__(self, parent)
        self.setAxisScaleDraw(Qwt5.QwtPlot.xBottom, MyScaleDrawSafe())
        print "Replotting with MyScaleDrawSafe:..."
        self.replot() 
        print "ok"
        self.setAxisScaleDraw(Qwt5.QwtPlot.xBottom, MyScaleDrawDanger())
        print "Replotting with MyScaleDrawDanger (if it crashes now you are affected by the bug) :..."
        self.replot() 
        print "SAFE!!!"
        print "if this is printed, the sip/PyQwt bug does not affect you"

app=Qt.QApplication([])
p=MyPlot()
p.show()

Reply via email to