
Hi mental,
Thimo Neubauer replied to my question regarding th backtrace and provided additional information. I hope to get some time to look into the gcc warnings you pointed out soon.
Thanks for your help,
Wolfi
Thimo Neubauer wrote: Hi,
On Sun, Aug 08, 2004 at 03:36:05PM +0200, Wolfram Quester wrote:
I forwarded your report to the inkscape developer ML and one replay was
On Fri, 2004-08-06 at 23:40, MenTaLguY wrote:
On Fri, 2004-08-06 at 07:38, Wolfram Quester wrote:
#0 0x0000020000a3cba8 in g_type_is_a (type=540847136, iface_type=4835814432) at gtype.c:2730 #1 0x0000000120095a34 in sp_object_repr_build_tree () #2 0x0000000120050690 in SPDocument::collectOrphans () #3 0x0000000120050e98 in sp_document_new () #4 0x0000000120054efc in sp_file_new () #5 0x000000012004f078 in sp_main_gui () #6 0x000000012004ed50 in main ()
Hmm. That backtrace looks a little suspect to me, SPDocument::collectOrphans() never calls sp_object_repr_build_tree() directly.
By "suspect", I mean it looks like the stack may have been corrupted. Is this from a core dump or a live gdb session? The latter is sometimes more reliable in capturing the stack.
It was a live session, I didn't fake the gdb-call and run-command in my report :) Maybe the effect is due to a cunning g++-optimization, The results so far were with the original binary and the -dbg-libs.
Ok, now a new debug-build (noopt, nostrip) is ready but the backtrace is nearly the same:
riff inkscape-0.39/src> setenv LD_LIBRARY_PATH /usr/lib/debug/ riff inkscape-0.39/src> gdb ./inkscape GNU gdb 6.1-debian Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "alpha-linux"...Using host libthread_db library "/usr/lib/debug/libthread_db.so.1".
(gdb) r Starting program: /tmp/inkscape-0.39/src/inkscape [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 860)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 860)] 0x0000020000a40b68 in g_type_is_a (type=541535280, iface_type=4836502576) at gtype.c:2730 2730 gtype.c: Datei oder Verzeichnis nicht gefunden. in gtype.c Current language: auto; currently c (gdb) bt #0 0x0000020000a40b68 in g_type_is_a (type=541535280, iface_type=4836502576) at gtype.c:2730 #1 0x00000001200daa74 in sp_object_repr_build_tree (document=0x12047c260, repr=0x1204eef10) at sp-object-repr.cpp:54 #2 0x000000012007e2a4 in sp_document_create (rdoc=0x1204e9c70, uri=0x0, base=0x0, name=0x1204d4510 "Neues Dokument 1", advertize=1, keepalive=1) at document.cpp:305 #3 0x000000012007eb4c in sp_document_new (uri=0x0, advertize=1, keepalive=1) at document.cpp:431 #4 0x0000000120084394 in sp_file_new () at file.cpp:82 #5 0x000000012007c92c in sp_main_gui (argc=1, argv=0x11ffff848) at main.cpp:294 #6 0x000000012007c5fc in main (argc=1, argv=0x11ffff848) at main.cpp:233 (gdb)
HTH Thimo