[GRASS-dev] Suggestion: wxGUI as default in G6.4

Glynn Clements glynn at gclements.plus.com
Mon Mar 1 10:53:47 EST 2010


Markus Neteler wrote:

> On Sun, Feb 28, 2010 at 6:10 PM, Glynn Clements
> <glynn at gclements.plus.com> wrote:
> > Markus Neteler wrote:
> >
> >> Using gdb, I get this:
> >>
> >> GRASS 6.4.0svn (nc_spm_08):~ > gdb python
> >> GNU gdb 6.8-7mdv2010.0 (Mandriva Linux release 2010.0)
> >> ...
> >> (gdb) r /home/neteler/grass64/dist.x86_64-unknown-linux-gnu/etc/wxpython/wxgui.py
> ...
> >> [...]
> >> (gdb) bt
> >> #0  mem2chunk_check (mem=0x7f032d40a000, magic_p=0x0) at hooks.c:156
> >> #1  0x00007f034d30633c in free_check (mem=0x7f032d40a000,
> >>     caller=<value optimized out>) at hooks.c:280
> >> #2  0x00007f033bde9cf2 in XML_ParserFree () from
> >
> > Something (presumably in vdigit or nviz) is corrupting the heap,
> > causing a crash in an unrelated free().
> 
> Here some valgrind tests:

> valgrind --tool=memcheck --leak-check=yes --show-reachable=yes  $CMD 2>
> valgrind_memorytest.log
> 
> 660k.gz:
> http://gis.fem-environment.eu/download/valgrind_memorytest.log.gz
> 
> Not sure if that would give any insights... I hope so!

This looks very suspicious:

==15942==    by 0x9043DB4: XML_ParseBuffer (in /usr/lib/wxPython/lib/libwx_gtk2u-2.8.so.0.5.0)

On my system, libexpat contains a function named XML_ParseBuffer.

Aha. wxWidgets includes a copy of expat, which it will use if
configured --with-expat=builtin. That's likely to cause problems if
both wxWidgets and the system's expat are loaded into Python.

Incidentally, I would expect this to be problematic regardless of
whether you use the vdigit module.

The only solution is to use a version of wxWidgets built with
--with-expat=sys.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list