[PyQt] Very strange matplotlib behavior

Hans-Peter Jansen hpj at urpla.net
Sun Oct 11 13:20:02 BST 2009

Am Sonntag 11 Oktober 2009 schrieb Serge Montagnac:
> I am working on the last releases of PyQt4 and Matplotlib (on mandriva
> Cooker)
> May be I'm tired but found a new problem .... the question looks trivial:
> If I copy as a normal user the official example of embedding_in_gtk2.py
> all works well as usual.
> But with  "embedding_in_qt4.py" it is crashing with a segfault.
> if I su Root and launch "python embedding_in_qt4.py" it works well !!
> I can't understand what is different and it is a big problem when I
> promote an mplWidget as QWidget.
> (Not to say that I had no problem with  previous PyQt4 releases)
> =============================
> I did my best in really checking all environment :
> .bashrc
> .matplolib/matplotlibrc and matplotlib.conf
> permissions in backends distrib directory ....
> ... no way ... root works and not serge ! have you an idea.

First, do you have anything compiled from tarballs, which you had also 
installed with rpm, or do you use any of the rpm switches: --force 
or --nodeps?

If the answer is yes, you're in trouble, go fix you system (clean everything 
below /usr/local, fix all suspicious output from rpm -Va and learn how to 
build rpm packages).

Given, that you installed everything with your package manager, here's what 
I would do:

install the debug{info,source} packages of [lib]qt4, pyqt4, python, 

$ gdb python -ex "set args embedding_in_qt4.py" -ex run
[some output]
[when it crashed, something similar to the following appears, paste it  
completely into a reply, but please switch off line breaks _before_]:

Program received signal SIGSEGV, Segmentation fault.
0xffffffff in ?? ()
(gdb) bt
#0  0xffffffff in ?? ()
#1  0xb7b1e2bf in PyQtProxy::qt_metacall (this=0xa90cb98, 
_c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xa998b48)
    at qpycore_pyqtproxy.cpp:344
#2  0xb789c788 in QMetaObject::activate(QObject*, int, int, void**) () 
from /usr/lib/libQtCore.so.4
#3  0xb7b24440 in qpycore_emit (qtx=0xa79bea0, signal_index=5, 
parsed_signature=0xada8258, sigargs=0xb7c5702c)

It may give us a clue.


More information about the PyQt mailing list