Problem using GDB on Windows

Hi,
I am new to Inkscape development and I am trying to use gdb on Windows. Using the latest source from trunk (via bazaar), I followed the instructions on the wiki, modified the build.xml and did a full re-build. I have no problem building the executable and launching the executable but when I try to debug it, I get an error immediately after the main window opens:
warning: HEAP[inkscape.exe]: warning: HEAP: Free Heap block 1621e0d8 modified at 1621e258 after it was freed
Program received signal SIGTRAP, Trace/breakpoint trap. 0x772504e5 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
The backtrace appears at the end of this post.
I have tried both the gdb executable that comes with devlibs and the one installed with mingw - both give the same result. I have been able to use gdb with Inkscape on Linux with no problem.
Any suggestions? Has anyone else encountered this problem?
Thank you for your help.
Veronika
[New Thread 3380.0x3a8] [New Thread 3380.0x10cc] [New Thread 3380.0x12a8] [New Thread 3380.0xa44] [New Thread 3380.0xf6c] [New Thread 3380.0x774] warning: HEAP[inkscape.exe]: warning: HEAP: Free Heap block 1621e0d8 modified at 1621e258 after it was freed
Program received signal SIGTRAP, Trace/breakpoint trap. 0x772504e5 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll (gdb) backtrace #0 0x772504e5 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll #1 0x0028e8e8 in ?? () #2 0x7720a383 in ntdll!AlpcMaxAllowedMessageLength () from C:\Windows\system32\ntdll.dll #3 0x1621e0d8 in ?? () #4 0x771b35a7 in ntdll!RtlReleasePebLock () from C:\Windows\system32\ntdll.dll warning: (Internal error: pc 0x4a in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0x4a in read in psymtab, but not in symtab.)
#5 0x0000004b in ?? () warning: (Internal error: pc 0x4a in read in psymtab, but not in symtab.)
#6 0x771b3492 in ntdll!LdrLoadAlternateResourceModuleEx () from C:\Windows\system32\ntdll.dll #7 0x1621e330 in ?? () #8 0x7725169e in ntdll!RtlValidateHeap () from C:\Windows\system32\ntdll.dll #9 0x0e9e0000 in ?? () #10 0x7720ab9a in ntdll!AlpcMaxAllowedMessageLength () from C:\Windows\system32\ntdll.dll #11 0x0e9e0000 in ?? () #12 0x771b3492 in ntdll!LdrLoadAlternateResourceModuleEx () from C:\Windows\system32\ntdll.dll #13 0x1621e330 in ?? () #14 0x75b198cd in msvcrt!free () from C:\Windows\syswow64\msvcrt.dll #15 0x0e9e0000 in ?? () #16 0x6aa0178a in sigc::signal_base::~signal_base() () from c:\veronika\research\inkscape\src\trunk\inkscape\libsigc-2.0-0.dll #17 0x00429b92 in ~signal1 (this=0x1621df04, __in_chrg=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/signal.h:2736 #18 ~signal (this=0x1621df04, __in_chrg=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/signal.h:3641 #19 SPObject::sp_object_finalize (object=0x1621dec8) at src/sp-object.cpp:199 #20 0x63a46492 in g_object_unref () from c:\veronika\research\inkscape\src\trunk\inkscape\libgobject-2.0-0.dll #21 0x00429791 in sp_object_unref (object=0x1621dec8, owner=0x0) at src/sp-object.cpp:270 #22 0x0042a12f in SPObject::deleteObject (this=0x1621dec8, propagate=false, propagate_descendants=false) at src/sp-object.cpp:494 #23 0x00c11b93 in deleteObject (propagate=<optimized out>, this=<optimized out>) at src/sp-object.h:471 #24 MarkerComboBox::create_marker_image (this=0x1619c928, psize=22, mname=0x13493180 "Arrow1Lend", source=0x124b4e40, drawing=...) at src/widgets/stroke-marker-selector.cpp:345 #25 0x00c12238 in MarkerComboBox::add_markers (this=0x1619c928, marker_list=0x16114e00, source=0x124b4e40) at src/widgets/stroke-marker-selector.cpp:306 #26 0x00c126bb in MarkerComboBox::sp_marker_list_from_doc (this=0x1619c928, source=0x124b4e40) at src/widgets/stroke-marker-selector.cpp:263 #27 0x00c12bfe in MarkerComboBox::init_combo (this=0x1619c928) at src/widgets/stroke-marker-selector.cpp:126 #28 0x00c13883 in MarkerComboBox::MarkerComboBox (this=0x1619c928, id=0x1621e0d8 "K", __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at src/widgets/stroke-marker-selector.cpp:68 #29 0x00b2e69e in sp_stroke_style_line_widget_new () at src/widgets/stroke-style.cpp:471 #30 0x00739b28 in Inkscape::UI::Dialog::FillAndStroke::_layoutPageStrokeStyle (this=0x16150978) at src/ui/dialog/fill-and-stroke.cpp:123 #31 0x0073a30a in Inkscape::UI::Dialog::FillAndStroke::FillAndStroke (this=0x16150978, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at src/ui/dialog/fill-and-stroke.cpp:64 #32 0x00db4a10 in getInstance () at src/ui/dialog/fill-and-stroke.h:35 #33 Inkscape::UI::Dialog::PanelDialogInkscape::UI::Dialog::Behavior::DockBehavior::createInkscape::UI::Dialog::FillAndStroke () at src/ui/dialog/panel-dialog.h:186 #34 0x004fd024 in Inkscape::UI::Dialog::(anonymous namespace)::createInkscape::UI::Dialog::FillAndStroke, Inkscape::UI::Dialog::Behavior::DockBehavior () at src/ui/dialog/dialog-manager.cpp:68 #35 0x004fdf65 in getDialog (name=3267, this=0x13207190) at src/ui/dialog/dialog-manager.cpp:236 #36 Inkscape::UI::Dialog::DialogManager::getDialog (this=0x13207190, name=3267) at src/ui/dialog/dialog-manager.cpp:224 #37 0x004fe106 in Inkscape::UI::Dialog::DialogManager::showDialog (this=0x1621e0d8, name=3267) at src/ui/dialog/dialog-manager.cpp:257 #38 0x00d6e4e7 in operator() (this=0x1326fe9c, _A_a1=<optimized out>, _A_a2=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/functors/ptr_fun.h:147 #39 operator()<SPAction*&, void*&> (this=0x1326fe98, _A_arg1=<optimized out>, _A_arg2=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103 #40 operator()<SPAction*&> (this=0x1326fe94, _A_arg1=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/adaptors/bind.h:1122 #41 operator() (this=0x1326fe90) at c:/devlibs/include/sigc++-2.0/sigc++/adaptors/bind.h:1110 #42 sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x1326fe78) at c:/devlibs/include/sigc++-2.0/sigc++/functors/slot.h:103 #43 0x00470dc9 in emit (impl=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/signal.h:773 #44 emit (this=<optimized out>) at c:/devlibs/include/sigc++-2.0/sigc++/signal.h:2668 #45 sp_action_perform (action=0x13276560) at src/helper/action.cpp:164 #46 0x00539226 in SPDesktop::show_dialogs (this=0x124d4d20) at src/desktop.cpp:1845 #47 0x004374eb in sp_namedview_window_from_document (desktop=0x124d4d20) at src/sp-namedview.cpp:845 #48 0x0045b6da in sp_file_new (templ=...) at src/file.cpp:136 #49 0x0045ba2e in sp_file_new_default () at src/file.cpp:182 #50 0x00403b25 in sp_main_gui (argc=1, argv=0xeb3a908) at src/main.cpp:976 #51 0x00ef218f in main (argc=1, argv=0xeb3a908) at src/main.cpp:711
-- View this message in context: http://inkscape.13.n6.nabble.com/Problem-using-GDB-on-Windows-tp4628229p4628... Sent from the Inkscape - Dev mailing list archive at Nabble.com.

same problem encountered here, unfortunately it has been quite some time since I used gdb, so I don't know when it started: - Windows XP - Inkscape rev 11060 - devlibs rev 29 - tdm-gcc 4.5.1
-- View this message in context: http://inkscape.13.n6.nabble.com/Problem-using-GDB-on-Windows-tp4628229p4628... Sent from the Inkscape - Dev mailing list archive at Nabble.com.

On 17/03/2012 17:46, alvinpenner wrote:
same problem encountered here, unfortunately it has been quite some time since I used gdb, so I don't know when it started:
- Windows XP
- Inkscape rev 11060
- devlibs rev 29
- tdm-gcc 4.5.1
Also reported here: Bug #956225 "Current trunk sticks in gdb, prevents gdb debugging" https://bugs.launchpad.net/inkscape/+bug/956225
~suv

W dniu 17 marca 2012 16:46 użytkownik veronika <vmi@...2827...> napisał:
Hi,
I am new to Inkscape development and I am trying to use gdb on Windows. Using the latest source from trunk (via bazaar), I followed the instructions on the wiki, modified the build.xml and did a full re-build. I have no problem building the executable and launching the executable but when I try to debug it, I get an error immediately after the main window opens:
Try revision 11096.
SPObject had a wrong order of finalization (signals were destroyed after the parent finalizer was called), which was probably the cause of SIGTRAP signals being generated.
Regards, Krzysztof

sorry, still getting the same type of gdb crash in rev 11098,
Alvin
....................................................................................
C:\InkscapeBZR\inkscape>gdb inkscape GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32"... (no debugging symbols found) (gdb) symbol-file inkscape.dbg Reading symbols from C:\InkscapeBZR\inkscape/inkscape.dbg...done. (gdb) run Starting program: C:\InkscapeBZR\inkscape/inkscape.exe [New thread 3492.0x9c8] [New thread 3492.0x890] [New thread 3492.0xd68] warning: HEAP[inkscape.exe]: warning: HEAP: Free Heap block 43ea3e8 modified at 43ea568 after it was freed
Program received signal SIGTRAP, Trace/breakpoint trap. 0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll (gdb) bt #0 0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll #1 0x7c96e139 in ntdll!RtlpNtMakeTemporaryKey () from C:\WINDOWS\system32\ntdll.dll #2 0x7c94b0aa in ntdll!LdrFindEntryForAddress () from C:\WINDOWS\system32\ntdll.dll
-- View this message in context: http://inkscape.13.n6.nabble.com/Problem-using-GDB-on-Windows-tp4628229p4631... Sent from the Inkscape - Dev mailing list archive at Nabble.com.

On 18-3-2012 23:27, alvinpenner wrote:
sorry, still getting the same type of gdb crash in rev 11098,
Alvin
....................................................................................
C:\InkscapeBZR\inkscape>gdb inkscape GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32"... (no debugging symbols found) (gdb) symbol-file inkscape.dbg Reading symbols from C:\InkscapeBZR\inkscape/inkscape.dbg...done. (gdb) run Starting program: C:\InkscapeBZR\inkscape/inkscape.exe [New thread 3492.0x9c8] [New thread 3492.0x890] [New thread 3492.0xd68] warning: HEAP[inkscape.exe]: warning: HEAP: Free Heap block 43ea3e8 modified at 43ea568 after it was freed
Program received signal SIGTRAP, Trace/breakpoint trap. 0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll (gdb) bt #0 0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll #1 0x7c96e139 in ntdll!RtlpNtMakeTemporaryKey () from C:\WINDOWS\system32\ntdll.dll #2 0x7c94b0aa in ntdll!LdrFindEntryForAddress () from C:\WINDOWS\system32\ntdll.dll
I can run Inkscape fine from gdb, but when I quit the program, I get " warning: HEAP[inkscape.exe]: warning: HEAP: Free Heap block 6b55988 modified at 6b55b08 after it was freed
Program received signal SIGTRAP, Trace/breakpoint trap. 0x778d04e5 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll "
Ciao, Johan

okay, I think mine is working properly now, as well. I normally use the command 'symbol-file inkscape.dbg'. So just as an experiment, I ran it without. I ran -gdb inkscape - run - Inkscape ran with no problem. - I got the above HEAP warnings on exit.
then I ran it with the command symbol-file inkscape.dbg included and that runs as well, so I think it is fixed.
thanks, Alvin
-- View this message in context: http://inkscape.13.n6.nabble.com/Problem-using-GDB-on-Windows-tp4628229p4631... Sent from the Inkscape - Dev mailing list archive at Nabble.com.
participants (5)
-
alvinpenner
-
Johan Engelen
-
Krzysztof Kosiński
-
veronika
-
~suv