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

Markus Neteler neteler at osgeo.org
Sun Feb 28 08:00:50 EST 2010


On Sat, Feb 27, 2010 at 10:10 PM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>
> Markus Neteler wrote:
>
>> Unfortunately I have no idea how to debug this (gdb and ddd refuse to do so).
>> Pointers welcome,
>
>        gdb python
>        start /path/to/etc/wxpython/wxgui.py
>
> If Python was compiled without debug support, the backtrace may not be
> much use if the segfault is occuring within Python itself.

I have installed python-debug now.

Using the graphical frontend "ddd" to gdb, it fails in glibc, malloc/hooks.c.
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
Starting program: /usr/bin/python
/home/neteler/grass64/dist.x86_64-unknown-linux-gnu/etc/wxpython/wxgui.py
[Thread debugging using libthread_db enabled]
[New Thread 0x7f034db846f0 (LWP 11517)]
Detaching after fork from child process 11528.
Detaching after fork from child process 11529.
Detaching after fork from child process 11530.
Detaching after fork from child process 11531.
Detaching after fork from child process 11532.
Detaching after fork from child process 11533.
[New Thread 0x7f0330a7c910 (LWP 11539)]

Program received signal SIGSEGV, Segmentation fault.
mem2chunk_check (mem=0x7f032d40a000, magic_p=0x0) at hooks.c:156
156       if (!chunk_is_mmapped(p)) {
Missing debug package(s), you should install:
GConf2-debug-2.28.0-1mdv2010.0.x86_64
ORBit2-debug-2.14.17-1mdv2010.0.x86_64
[...]
(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
/usr/lib64/libexpat.so.1
#3  0x00007f032d4113fb in ?? ()
   from /usr/lib64/python2.6/site-packages/_xmlplus/parsers/pyexpat.so
#4  0x00007f034d66af37 in PyDict_DelItem (op=0x165f690,
    key=<value optimized out>) at Objects/dictobject.c:755
#5  0x00007f034d645824 in instance_setattr (inst=0x7f03373bf7a0,
    name=0x7f033ee09690, v=0x0) at Objects/classobject.c:794
#6  0x00007f034d66ec97 in PyObject_SetAttr (v=0x7f03373bf7a0,
    name=0x7f033ee09690, value=0x0) at Objects/object.c:1252
#7  0x00007f034d6c2cb9 in PyEval_EvalFrameEx (f=0x175f660,
    throwflag=<value optimized out>) at Python/ceval.c:1850
#8  0x00007f034d6c6e1b in PyEval_EvalFrameEx (f=0x165f1f0,
    throwflag=<value optimized out>) at Python/ceval.c:3792
#9  0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f033ee05378,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x165efc0,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x7f033ee0f628, defcount=1, closure=0x0) at
Python/ceval.c:2968
#10 0x00007f034d6c65eb in PyEval_EvalFrameEx (f=0x165ee30,
    throwflag=<value optimized out>) at Python/ceval.c:3802
#11 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f033ee05c60,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x1,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x7f033ee0f828, defcount=1, closure=0x0) at
Python/ceval.c:2968
#12 0x00007f034d6c65eb in PyEval_EvalFrameEx (f=0x165ec50,
    throwflag=<value optimized out>) at Python/ceval.c:3802
#13 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f033f31ae40,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x1,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x7f033ee04a68, defcount=1, closure=0x0) at
Python/ceval.c:2968
#14 0x00007f034d65b7ff in function_call (func=0x7f033ee01cf8,
    arg=0x7f03373d09d0, kw=0x0) at Objects/funcobject.c:524
#15 0x00007f034d635023 in PyObject_Call (func=0x7f033ee01cf8, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#16 0x00007f034d6475cf in instancemethod_call (func=0x7f033ee01cf8,
    arg=0x7f03373d09d0, kw=0x0) at Objects/classobject.c:2579
#17 0x00007f034d635023 in PyObject_Call (func=0x7f03373bee60, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#18 0x00007f034d6c0a03 in PyEval_CallObjectWithKeywords
(func=0x7f03373bee60,
    arg=0x7f034db44050, kw=0xffffffffffffff90) at Python/ceval.c:3575
#19 0x00007f034d646d56 in PyInstance_New (klass=<value optimized out>,
    arg=0x7f034db44050, kw=0x0) at Objects/classobject.c:568
#20 0x00007f034d635023 in PyObject_Call (func=0x7f033ede67d0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#21 0x00007f034d6c6312 in PyEval_EvalFrameEx (f=0x165bb80,
    throwflag=<value optimized out>) at Python/ceval.c:3924
#22 0x00007f034d6c6e1b in PyEval_EvalFrameEx (f=0x14ecc30,
    throwflag=<value optimized out>) at Python/ceval.c:3792
#23 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034dab7210,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x3,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=3,
    defs=0x7f033788c9c8, defcount=3, closure=0x0) at
Python/ceval.c:2968
#24 0x00007f034d65b8fb in function_call (func=0x7f03378a8e60,
    arg=0x7f033ef98a90, kw=0x14b7970) at Objects/funcobject.c:524
#25 0x00007f034d635023 in PyObject_Call (func=0x7f03378a8e60, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#26 0x00007f034d6475cf in instancemethod_call (func=0x7f03378a8e60,
    arg=0x7f033ef98a90, kw=0x14b7970) at Objects/classobject.c:2579
#27 0x00007f034d635023 in PyObject_Call (func=0x7f033eebef50, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#28 0x00007f034d6866fe in slot_tp_init (self=<value optimized out>,
    args=0x7f034db44050, kwds=0x14b7970) at Objects/typeobject.c:5638
#29 0x00007f034d6852d8 in type_call (type=<value optimized out>,
    args=0x7f034db44050, kwds=0x14b7970) at Objects/typeobject.c:747
#30 0x00007f034d635023 in PyObject_Call (func=0x13b2ef0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#31 0x00007f034d6c6312 in PyEval_EvalFrameEx (f=0x14c3010,
    throwflag=<value optimized out>) at Python/ceval.c:3924
#32 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c7aa210,
    globals=<value optimized out>, locals=<value optimized out>,
    args=0x7f033ef98a28, argcount=<value optimized out>,
    kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0,
closure=0x0)
    at Python/ceval.c:2968
#33 0x00007f034d65b7ff in function_call (func=0x7f03378b5b18,
    arg=0x7f033ef98a10, kw=0x0) at Objects/funcobject.c:524
#34 0x00007f034d635023 in PyObject_Call (func=0x7f03378b5b18, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#35 0x00007f034d6475cf in instancemethod_call (func=0x7f03378b5b18,
    arg=0x7f033ef98a10, kw=0x0) at Objects/classobject.c:2579
#36 0x00007f034d635023 in PyObject_Call (func=0x7f033eed71e0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#37 0x00007f034d6c0a03 in PyEval_CallObjectWithKeywords
(func=0x7f033eed71e0,
    arg=0x7f034db44050, kw=0xffffffffffffff90) at Python/ceval.c:3575
#38 0x00007f034b3fc63e in wxPyApp::_BootstrapApp ()
   from /usr/lib64/python2.6/site-packages/wx-2.8-gtk2-unicode/wx/_core_.so
---Type <return> to continue, or q <return> to quit---
#39 0x00007f034b485c93 in ?? ()
   from /usr/lib64/python2.6/site-packages/wx-2.8-gtk2-unicode/wx/_core_.so
#40 0x00007f034d6c6761 in PyEval_EvalFrameEx (f=0x13ebd80,
    throwflag=<value optimized out>) at Python/ceval.c:4016
#41 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c8c2468,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x13c6380,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
#42 0x00007f034d6c65eb in PyEval_EvalFrameEx (f=0x13c61d0,
    throwflag=<value optimized out>) at Python/ceval.c:3802
#43 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c8c6648,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x4,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x7f03425fe5e8, defcount=4, closure=0x0) at
Python/ceval.c:2968
#44 0x00007f034d65b7ff in function_call (func=0x7f0342602aa0,
    arg=0x7f033787f200, kw=0x0) at Objects/funcobject.c:524
#45 0x00007f034d635023 in PyObject_Call (func=0x7f0342602aa0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#46 0x00007f034d6475cf in instancemethod_call (func=0x7f0342602aa0,
    arg=0x7f033787f200, kw=0x0) at Objects/classobject.c:2579
#47 0x00007f034d635023 in PyObject_Call (func=0x7f033eebefa0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#48 0x00007f034d6c6312 in PyEval_EvalFrameEx (f=0x13ffdc0,
    throwflag=<value optimized out>) at Python/ceval.c:3924
#49 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c7aa120,
    globals=<value optimized out>, locals=<value optimized out>,
    args=0x7f0337435b60, argcount=<value optimized out>,
    kws=<value optimized out>, kwcount=0, defs=0x7f033ef987e8,
defcount=1,
    closure=0x0) at Python/ceval.c:2968
#50 0x00007f034d65b7ff in function_call (func=0x7f03378b5aa0,
    arg=0x7f0337435b48, kw=0x0) at Objects/funcobject.c:524
#51 0x00007f034d635023 in PyObject_Call (func=0x7f03378b5aa0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#52 0x00007f034d6475cf in instancemethod_call (func=0x7f03378b5aa0,
    arg=0x7f0337435b48, kw=0x0) at Objects/classobject.c:2579
#53 0x00007f034d635023 in PyObject_Call (func=0x7f033eed70a0, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#54 0x00007f034d6866fe in slot_tp_init (self=<value optimized out>,
    args=0x7f033ef98890, kwds=0x0) at Objects/typeobject.c:5638
#55 0x00007f034d6852d8 in type_call (type=<value optimized out>,
    args=0x7f033ef98890, kwds=0x0) at Objects/typeobject.c:747
#56 0x00007f034d635023 in PyObject_Call (func=0x141fc50, arg=0x0,
    kw=0xffffffffffffff90) at Objects/abstract.c:2492
#57 0x00007f034d6c6312 in PyEval_EvalFrameEx (f=0x13840e0,
    throwflag=<value optimized out>) at Python/ceval.c:3924
#58 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c7aa8a0,
    globals=<value optimized out>, locals=<value optimized out>,
args=0x1,
    argcount=<value optimized out>, kws=<value optimized out>,
kwcount=0,
    defs=0x7f033ef98868, defcount=1, closure=0x0) at
Python/ceval.c:2968
#59 0x00007f034d6c65eb in PyEval_EvalFrameEx (f=0xa11100,
    throwflag=<value optimized out>) at Python/ceval.c:3802
#60 0x00007f034d6c8305 in PyEval_EvalCodeEx (co=0x7f034c7aa990,
    globals=<value optimized out>, locals=<value optimized out>, args=0x0,
    argcount=<value optimized out>, kws=<value optimized out>, kwcount=0,
    defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2968
#61 0x00007f034d6c83d2 in PyEval_EvalCode (co=0x7f032d40a000, globals=0x0,
    locals=0xffffffffffffff90) at Python/ceval.c:522
#62 0x00007f034d6e280c in run_mod (mod=<value optimized out>,
---Type <return> to continue, or q <return> to quit---
    filename=<value optimized out>, globals=0x993640, locals=0x993640,
    flags=<value optimized out>, arena=<value optimized out>)
    at Python/pythonrun.c:1335
#63 0x00007f034d6e28e0 in PyRun_FileExFlags (fp=0x9e7610,
    filename=0x7fff99280d5f
"/home/neteler/grass64/dist.x86_64-unknown-linux-gnu/etc/wxpython/wxgui.py",
start=<value optimized out>,
    globals=<value optimized out>, locals=0x993640, closeit=1,
    flags=0x7fff9927ec50) at Python/pythonrun.c:1321
#64 0x00007f034d6e3cec in PyRun_SimpleFileExFlags (fp=<value optimized out>,
    filename=0x7fff99280d5f
"/home/neteler/grass64/dist.x86_64-unknown-linux-gnu/etc/wxpython/wxgui.py",
closeit=1, flags=0x7fff9927ec50) at Python/pythonrun.c:931
#65 0x00007f034d6f03c9 in Py_Main (argc=1303400576, argv=<value optimized out>)
    at Modules/main.c:599
#66 0x00007f034d2b191d in __libc_start_main (main=<value optimized out>,
    argc=<value optimized out>, ubp_av=<value optimized out>,
    init=<value optimized out>, fini=<value optimized out>,
    rtld_fini=<value optimized out>, stack_end=0x7fff9927ed68)
    at libc-start.c:220
#67 0x0000000000400629 in _start () at ../sysdeps/x86_64/elf/start.S:113

The "bt full" output I have put here:
http://osgeo.pastebin.com/gj75Ywyg

I see that there is some pyexpat trouble (since it seems to fail to
read menudata.xml
properly).

Markus


More information about the grass-dev mailing list