Ticket #287: backtrace

File backtrace, 15.1 KB (added by tsee, 5 years ago)

A better backtrace with some additional debugging info

2- The "destroy ...." messages below are printf()'s of the THIS pointer
3  in the wxWindowUpdateLocker::DESTROY XSUB.
4- I could provoke this crash by simply switching files between "Main.pm"
5  (see "run script/padre lib/Padre/Wx/M*.pm" below) and another file
6  a couple of times while having syntax-check and outline view enabled
7  until the status indicator turned from an ampersand into a red
8  exclamation mark. This indicates high load. Then I waited for it
9  to go down and finally changed the file ONE more time. Crash.
10- I dumped the SV* mentioned at the top of the backtrace. It's at the end
11  of this document. I also included the corresponding code from Wx.pm at
12  the very end.
14GNU gdb 6.8-debian                                                                                                                                                 
15Copyright (C) 2008 Free Software Foundation, Inc.                                                                                                                   
16License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>                                                                                       
17This is free software: you are free to change and redistribute it.                                                                                                 
18There is NO WARRANTY, to the extent permitted by law.  Type "show copying"                                                                                         
19and "show warranty" for details.                                                                                                                                   
20This GDB was configured as "x86_64-linux-gnu"...                                                                                                                   
21(gdb) run script/padre lib/Padre/Wx/M*.pm                                                                                                                       
22Starting program: /home/tsee/bleadperl/install_maint_5.10/bin/perl script/padre lib/Padre/Wx/M*.pm                                                               
23[Thread debugging using libthread_db enabled]                                                                                                                   
24[New Thread 0x7f1890c556e0 (LWP 14828)]                                                                                                                         
25[New Thread 0x40da9950 (LWP 14831)]                                                                                                                             
26[Thread 0x40da9950 (LWP 14831) exited]                                                                                                                           
27destroy 73041040                                                                                                                                                 
28[New Thread 0x40da9950 (LWP 14840)]                                                                                                                             
29destroy 73041040                                                                                                                                                 
30destroy 139743073389200                                                                                                                                         
31destroy 72525280                                                                                                                                                 
32destroy 155266800                                                                                                                                               
33destroy 98618992                                                                                                                                                 
34[New Thread 0x422c1950 (LWP 14857)]                                                                                                                             
35destroy 154967632                                                                                                                                               
36destroy 229352240                                                                                                                                               
37[Thread 0x40da9950 (LWP 14840) exited]                                                                                                                           
38destroy 73041040                                                                                                                                                 
40Program received signal SIGSEGV, Segmentation fault.
41[Switching to Thread 0x7f1890c556e0 (LWP 14828)]   
420x00007f188d98907b in ~wxWindowUpdateLocker (this=0x45a8490)
43    at /home/tsee/bleadperl/install_maint_5.10/lib/site_perl/5.10.0/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_2_8_8_dbg_uni/include/wx-2.8/wx/wupdlock.h:28
4428          ~wxWindowUpdateLocker() { m_win->Thaw(); }                                                                                                         
45Current language:  auto; currently c++                                                                                                                         
46(gdb) bt                                                                                                                                                       
47#0  0x00007f188d98907b in ~wxWindowUpdateLocker (this=0x45a8490)                                                                                               
48    at /home/tsee/bleadperl/install_maint_5.10/lib/site_perl/5.10.0/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_2_8_8_dbg_uni/include/wx-2.8/wx/wupdlock.h:28
49#1  0x00007f188d9806f6 in XS_Wx__WindowUpdateLocker_DESTROY (my_perl=0x4f36f00, cv=0x6dd1d60) at Window.c:5905                                                 
50#2  0x00000000004ceb8e in Perl_pp_entersub (my_perl=0x4f36f00) at pp_hot.c:2888                                                                               
51#3  0x00000000004406a1 in Perl_call_sv (my_perl=0x4f36f00, sv=0x6dd1d60, flags=150) at perl.c:2718                                                             
52#4  0x00000000004f1b44 in Perl_sv_clear (my_perl=0x4f36f00, sv=0x6dd1d10) at sv.c:5448                                                                         
53#5  0x00000000004f2890 in Perl_sv_free2 (my_perl=0x4f36f00, sv=0x6dd1d10) at sv.c:5712                                                                         
54#6  0x00000000004dc965 in S_visit (my_perl=0x4f36f00, f=0x4f3510 <do_clean_objs>, flags=2048, mask=2048) at sv.c:441                                           
55#7  0x00000000004dc9df in Perl_sv_clean_objs (my_perl=0x45a8490) at sv.c:549                                                                                   
56#8  0x0000000000442188 in perl_destruct (my_perl=0x4f36f00) at perl.c:834                                                                                     
57#9  0x00007f188f7eef5d in S_ithread_clear (my_perl=0xfe4010, thread=0x4edd4c0) at threads.xs:166                                                               
58#10 0x00007f188f7efd7b in XS_threads_join (my_perl=0xfe4010, cv=<value optimized out>) at threads.xs:1150                                                     
59#11 0x00000000004ceb8e in Perl_pp_entersub (my_perl=0xfe4010) at pp_hot.c:2888                                                                                 
60#12 0x000000000049f7ec in Perl_runops_debug (my_perl=0xfe4010) at dump.c:1968                                                                                 
61#13 0x0000000000440408 in Perl_call_sv (my_perl=0xfe4010, sv=0x425d4d0, flags=134) at perl.c:2718                                                             
62#14 0x00007f188d827bb6 in wxPliEventCallback::Handler (this=0x453baa0, event=@0x7fff98c7fb00) at cpp/e_cback.cpp:118                                           
63#15 0x00007f188c7a04a3 in wxAppConsole::HandleEvent (this=0x20271e0, handler=0x453baa0, func=0x7f188d8272c8 <wxPliEventCallback::Handler(wxEvent&)>, event=@0x7fff98c7fb00)
64    at ../src/common/appbase.cpp:322                                                                                                                                       
65#16 0x00007f188c85fe34 in wxEvtHandler::ProcessEventIfMatches (entry=@0x453cfc0, handler=0x453baa0, event=@0x7fff98c7fb00) at ../src/common/event.cpp:1230                 
66#17 0x00007f188c86037a in wxEvtHandler::SearchDynamicEventTable (this=0x453baa0, event=@0x7fff98c7fb00) at ../src/common/event.cpp:1412                                   
67#18 0x00007f188c861ed1 in wxEvtHandler::ProcessEvent (this=0x453baa0, event=@0x7fff98c7fb00) at ../src/common/event.cpp:1288                                               
68#19 0x00007f188c861f50 in wxEvtHandler::ProcessEvent (this=0x453bce0, event=@0x7fff98c7fb00) at ../src/common/event.cpp:1299                                               
69#20 0x00007f187e231cef in wxAuiNotebook::SetSelection (this=0x453baa0, new_page=1) at ../src/aui/auibook.cpp:3508                                                         
70#21 0x00007f187e2322fc in wxAuiNotebook::OnTabClicked (this=0x453baa0, command_evt=@0x7fff98c7ff10) at ../src/aui/auibook.cpp:3789                                         
71#22 0x00007f188c7a04a3 in wxAppConsole::HandleEvent (this=0x20271e0, handler=0x453baa0, func=0x7f187e23220e <wxAuiNotebook::OnTabClicked(wxCommandEvent&)>, event=@0x7fff98c7ff10)
72    at ../src/common/appbase.cpp:322                                                                                                                                             
73#23 0x00007f188c85fe34 in wxEvtHandler::ProcessEventIfMatches (entry=@0x7f187e45f5f0, handler=0x453baa0, event=@0x7fff98c7ff10) at ../src/common/event.cpp:1230                   
74#24 0x00007f188c861ddc in wxEventHashTable::HandleEvent (this=0x7f187e45f560, event=@0x7fff98c7ff10, self=0x453baa0) at ../src/common/event.cpp:905                               
75#25 0x00007f188c861f17 in wxEvtHandler::ProcessEvent (this=0x453baa0, event=@0x7fff98c7ff10) at ../src/common/event.cpp:1292                                                     
76#26 0x00007f188c861f50 in wxEvtHandler::ProcessEvent (this=0x453bce0, event=@0x7fff98c7ff10) at ../src/common/event.cpp:1299                                                     
77#27 0x00007f188ce8cd42 in wxWindowBase::TryParent (this=0x4e1d570, event=@0x7fff98c7ff10) at ../src/common/wincmn.cpp:2661                                                       
78#28 0x00007f188c861f72 in wxEvtHandler::ProcessEvent (this=0x4e1d570, event=@0x7fff98c7ff10) at ../src/common/event.cpp:1305                                                     
79#29 0x00007f187e231637 in wxAuiTabCtrl::OnLeftDown (this=0x4e1d570, evt=@0x7fff98c80290) at ../src/aui/auibook.cpp:2401                                                           
80#30 0x00007f188c7a04a3 in wxAppConsole::HandleEvent (this=0x20271e0, handler=0x4e1d570, func=0x7f187e23149e <wxAuiTabCtrl::OnLeftDown(wxMouseEvent&)>, event=@0x7fff98c80290)     
81    at ../src/common/appbase.cpp:322                                                                                                                                             
82#31 0x00007f188c85fe34 in wxEvtHandler::ProcessEventIfMatches (entry=@0x7f187e45f318, handler=0x4e1d570, event=@0x7fff98c80290) at ../src/common/event.cpp:1230                   
83#32 0x00007f188c861ddc in wxEventHashTable::HandleEvent (this=0x7f187e45f260, event=@0x7fff98c80290, self=0x4e1d570) at ../src/common/event.cpp:905                               
84#33 0x00007f188c861f17 in wxEvtHandler::ProcessEvent (this=0x4e1d570, event=@0x7fff98c80290) at ../src/common/event.cpp:1292                                                     
85---Type <return> to continue, or q <return> to quit---                                                                                                                           
86#34 0x00007f188cd5fb0c in wxWindow::GTKProcessEvent (this=0x4e1d570, event=@0x7fff98c80290) at ../src/gtk/window.cpp:1410                                                         
87#35 0x00007f188cd690cb in gtk_window_button_press_callback (widget=0x4592af0, gdk_event=0x4e7be60, win=0x4e1d570) at ../src/gtk/window.cpp:1609                                   
88#36 0x00007f188bb17908 in ?? () from /usr/lib/libgtk-x11-2.0.so.0                                                                                                                 
89#37 0x00007f188a52b25d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
90#38 0x00007f188a540f5d in ?? () from /usr/lib/libgobject-2.0.so.0
91#39 0x00007f188a54248a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
92#40 0x00007f188a542b33 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
93#41 0x00007f188bc1a74e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
94#42 0x00007f188bb10273 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
95#43 0x00007f188bb11393 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
96#44 0x00007f188b79406c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
97#45 0x00007f1889c80d5b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
98#46 0x00007f1889c8452d in ?? () from /usr/lib/libglib-2.0.so.0
99#47 0x00007f1889c84a5d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
100#48 0x00007f188bb117a7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
101#49 0x00007f188cd4c33d in wxEventLoop::Run (this=0x3a42fe0) at ../src/gtk/evtloop.cpp:76
102#50 0x00007f188cdecc74 in wxAppBase::MainLoop (this=0x20271e0) at ../src/common/appcmn.cpp:312
103#51 0x00007f188d6ef8ca in wxPliApp::MainLoop (this=0x20271e0) at cpp/app.h:93
104#52 0x00007f188d67005e in XS_Wx__App_MainLoop (my_perl=0xfe4010, cv=0x1f92920) at Wx.c:15500
105#53 0x00000000004ceb8e in Perl_pp_entersub (my_perl=0xfe4010) at pp_hot.c:2888
106#54 0x000000000049f7ec in Perl_runops_debug (my_perl=0xfe4010) at dump.c:1968
107#55 0x0000000000441585 in perl_run (my_perl=0xfe4010) at perl.c:2432
108#56 0x0000000000421a1c in main (argc=5, argv=0x7fff98c80e08, env=0x7fff98c80e38) at perlmain.c:117
109(gdb) up
110#1  0x00007f188d9806f6 in XS_Wx__WindowUpdateLocker_DESTROY (my_perl=0x4f36f00, cv=0x6dd1d60) at Window.c:5905
1115905        }
112(gdb) up
113#2  0x00000000004ceb8e in Perl_pp_entersub (my_perl=0x4f36f00) at pp_hot.c:2888
1142888                (void)(*CvXSUB(cv))(aTHX_ cv);
115Current language:  auto; currently c
116(gdb) up
117#3  0x00000000004406a1 in Perl_call_sv (my_perl=0x4f36f00, sv=0x6dd1d60, flags=150) at perl.c:2718
1182718                CALL_BODY_SUB((OP*)&myop);
119(gdb) print *sv
120$1 = {sv_any = 0x6d50090, sv_refcnt = 2, sv_flags = 13, sv_u = {svu_iv = 0, svu_uv = 0, svu_rv = 0x0, svu_pv = 0x0, svu_array = 0x0, svu_hash = 0x0, svu_gp = 0x0},
121  sv_debug_optype = 169, sv_debug_inpad = 0, sv_debug_cloned = 1, sv_debug_line = 141, sv_debug_serial = 2880226771,
122  sv_debug_file = 0x6dd9708 "/home/tsee/bleadperl/install_maint_5.10/lib/site_perl/5.10.0/x86_64-linux-thread-multi/Wx.pm"}
123(gdb) q
125Corresponding code in Window.pm:
126138 {
127139   _boot_Constant( 'Wx', $XS_VERSION );
128140   _boot_Events( 'Wx', $XS_VERSION );
129141*  _boot_Window( 'Wx', $XS_VERSION );
130142   _boot_Controls( 'Wx', $XS_VERSION );
131143   _boot_Frames( 'Wx', $XS_VERSION );
132144   _boot_GDI( 'Wx', $XS_VERSION );
133145 }