From: Michael D. <md...@st...> - 2010-06-22 16:05:59
|
In r8454, I have a applied a fix that allows this C++ exception to correctly percolate to the Python side -- the user will still get an exception, but it will be a Python exception and the interpreter itself does not crash. (It used to work, but recent changes to CXX caused it to break.) I have attached this patch to the e-mail. As Eric suggests, fixing the underlying limitation (I even hesitate to call it a bug because it is definitely a corner case) requires understanding some pretty dark depths of the Agg renderer. Mike On 06/21/2010 10:57 PM, Eric Firing wrote: > On 06/21/2010 12:24 PM, Sandro Tosi wrote: > >> forwarded 585442 mat...@li... >> thanks >> >> Hello Matplotlib developers, >> here below is a report a user of maplotlib sent to the Debian bug >> tracker. I've verified and it happend also with 0.99.3: >> >> $ python -c "import matplotlib as p ; print p.__version__" >> 0.99.3 >> $ python mpl_crash.py >> terminate called after throwing an instance of 'char const*' >> Aborted >> >> Thanks for looking into it, >> Sandro >> > Sandro, > > Thanks for reporting it. > > With the default interpolation, rendering gets extremely slow as the > view limits decline to and below a single image pixel. I suspect the > crash is related to this. Neither the slowdown nor the crash occurs > with interpolation='nearest', although there is still an anomaly in > which the image is blank when the viewlim region is too small. > > Like Ryan, I am not familiar with the _image.cpp and the underlying agg > routines, but I suspect this is going to be a difficult problem to > solve. It may be necessary to put in some workaround, trying to trap > and prevent the extreme slowdown and crash. The slowdown topic came up > on the list years ago. > > http://www.mail-archive.com/mat...@li.../msg00513.html > > Eric > > >> On Thu, Jun 10, 2010 at 16:52, Teemu Ikonen<tpi...@gm...> wrote: >> >>> Package: python-matplotlib >>> Version: 0.99.1.2-3 >>> Severity: important >>> >>> Running a program which displays an image with plt.imshow() and changes the >>> axes with plt.axis() before calling plt.show() crashes the python interpreter: >>> >>> $ python mpl_crash.py >>> terminate called after throwing an instance of 'char const*' >>> Aborted >>> >>> This happens at least with Qt4Agg, GTKAgg and TKAgg backends. >>> >>> The example program is attached. >>> >>> Best, >>> >>> Teemu >>> >>> -- System Information: >>> Debian Release: squeeze/sid >>> APT prefers testing >>> APT policy: (500, 'testing') >>> Architecture: amd64 (x86_64) >>> >>> Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores) >>> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) >>> Shell: /bin/sh linked to /bin/dash >>> >>> Versions of packages python-matplotlib depends on: >>> ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit >>> ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib >>> ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra >>> ii libfontconfig1 2.8.0-2.1 generic font configuration library >>> ii libfreetype6 2.3.11-1 FreeType 2 font engine, shared lib >>> ii libgcc1 1:4.4.4-1 GCC support library >>> ii libglib2.0-0 2.24.1-1 The GLib library of C routines >>> ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface >>> ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio >>> ii libpng12-0 1.2.43-1 PNG library - runtime >>> ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3 >>> ii python 2.5.4-9 An interactive high-level object-o >>> ii python-cairo 1.8.8-1+b1 Python bindings for the Cairo vect >>> ii python-dateutil 1.4.1-3 powerful extensions to the standar >>> ii python-gobject 2.21.1-1 Python bindings for the GObject li >>> ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data >>> ii python-numpy 1:1.3.0-3+b1 Numerical Python adds a fast array >>> ii python-pyparsing 1.5.2-2 Python parsing module >>> ii python-support 1.0.8 automated rebuilding support for P >>> ii python-tz 2010b-1 Python version of the Olson timezo >>> ii tcl8.5 8.5.8-2 Tcl (the Tool Command Language) v8 >>> ii tk8.5 8.5.8-1 Tk toolkit for Tcl and X11, v8.5 - >>> ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime >>> >>> Versions of packages python-matplotlib recommends: >>> ii python-glade2 2.17.0-2 GTK+ bindings: Glade support >>> ii python-tk 2.6.5-1 Tkinter - Writing Tk applications >>> >>> Versions of packages python-matplotlib suggests: >>> ii dvipng 1.13-1 convert DVI files to PNG graphics >>> ii ipython 0.10-2 enhanced interactive Python shell >>> ii librsvg2-common 2.26.3-1 SAX-based renderer library for SVG >>> ii python-configobj 4.7.2+ds-1 simple but powerful config file re >>> pn python-excelerator<none> (no description available) >>> ii python-gtk2 2.17.0-2 Python bindings for the GTK+ widge >>> pn python-matplotlib-doc<none> (no description available) >>> pn python-qt3<none> (no description available) >>> ii python-qt4 4.7.3-1 Python bindings for Qt4 >>> ii python-scipy 0.7.2-1 scientific tools for Python >>> ii python-traits 3.3.0-1 Manifest typing and reactive progr >>> ii python-wxgtk2.8 2.8.10.1-3 wxWidgets Cross-platform C++ GUI t >>> ii texlive-extra-utils 2009-7 TeX Live: TeX auxiliary programs >>> ii texlive-latex-extra 2009-7 TeX Live: LaTeX supplementary pack >>> >>> -- no debconf information >>> >>> _______________________________________________ >>> Python-modules-team mailing list >>> Pyt...@li... >>> http://lists.alioth.debian.org/mailman/listinfo/python-modules-team >>> >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> ThinkGeek and WIRED's GeekDad team up for the Ultimate >> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the >> lucky parental unit. See the prize list and enter to win: >> http://p.sf.net/sfu/thinkgeek-promo >> >> >> >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA |