Author Topic: Crash debugger watches window editing label  (Read 3233 times)

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Crash debugger watches window editing label
« on: January 23, 2018, 01:18:38 am »
Hi,
lately i get always random crashes during editing watches in debugging on linux, latest trunk wx3.0

To reproduce start a debugging session, add a watch (i use a vector) for example "m_vector->size()" and change it to "m_vector->begin()" i get a crash after hitting enter
here are the backtraces:
Code
#0  0x00007ffff74a8126 in wxPropertyGrid::DoEndLabelEdit (this=0x129fc90, commit=true, selFlags=0) at ../src/propgrid/propgrid.cpp:1055
#1  0x00007ffff74a7fb6 in wxPropertyGrid::OnLabelEditorEnterPress (this=0x129fc90) at ../src/propgrid/propgrid.cpp:1015
#2  0x00007ffff6f32b8b in wxAppConsoleBase::HandleEvent (this=0x8eed00, handler=0x129fc90, func=
    (void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x7ffff74a7f90 <wxPropertyGrid::OnLabelEditorEnterPress(wxCommandEvent&)>, event=...)
    at ../src/common/appbase.cpp:611
#3  0x00007ffff6f32bfe in wxAppConsoleBase::CallEventHandler (this=0x8eed00, handler=0x129fc90, functor=..., event=...) at ../src/common/appbase.cpp:623
#4  0x00007ffff705d9a6 in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=0x129fc90, event=...) at ../src/common/event.cpp:1392
#5  0x00007ffff705e605 in wxEvtHandler::SearchDynamicEventTable (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1751
#6  0x00007ffff705de7c in wxEvtHandler::TryHereOnly (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1585
#7  0x00007ffff7063e47 in wxEvtHandler::TryBeforeAndHere (this=0x2cbeed0, event=...) at ../include/wx/event.h:3671
#8  0x00007ffff705dccb in wxEvtHandler::ProcessEventLocally (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1522
#9  0x00007ffff705dc63 in wxEvtHandler::ProcessEvent (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1495
#10 0x00007ffff705df77 in wxEvtHandler::SafelyProcessEvent (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1613
#11 0x00007ffff726ca8c in wxWindowBase::HandleWindowEvent (this=0x2cbeed0, event=...) at ../src/common/wincmn.cpp:1525
#12 0x00007ffff7155710 in wxTextCtrl::OnChar (this=0x2cbeed0, key_event=...) at ../src/gtk/textctrl.cpp:1630
#13 0x00007ffff6f32b8b in wxAppConsoleBase::HandleEvent (this=0x8eed00, handler=0x2cbeed0, func=
    (void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x7ffff7155570 <wxTextCtrl::OnChar(wxKeyEvent&)>, event=...) at ../src/common/appbase.cpp:611
#14 0x00007ffff6f32bfe in wxAppConsoleBase::CallEventHandler (this=0x8eed00, handler=0x2cbeed0, functor=..., event=...) at ../src/common/appbase.cpp:623
#15 0x00007ffff705d9a6 in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=0x2cbeed0, event=...) at ../src/common/event.cpp:1392
#16 0x00007ffff705c689 in wxEventHashTable::HandleEvent (this=0x7ffff7dbb760 <wxTextCtrl::sm_eventHashTable>, event=..., self=0x2cbeed0) at ../src/common/event.cpp:998
#17 0x00007ffff705dec7 in wxEvtHandler::TryHereOnly (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1589
#18 0x00007ffff7063e47 in wxEvtHandler::TryBeforeAndHere (this=0x2cbeed0, event=...) at ../include/wx/event.h:3671
#19 0x00007ffff705dccb in wxEvtHandler::ProcessEventLocally (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1522
#20 0x00007ffff705dc63 in wxEvtHandler::ProcessEvent (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1495
#21 0x00007ffff705df77 in wxEvtHandler::SafelyProcessEvent (this=0x2cbeed0, event=...) at ../src/common/event.cpp:1613
#22 0x00007ffff726ca8c in wxWindowBase::HandleWindowEvent (this=0x2cbeed0, event=...) at ../src/common/wincmn.cpp:1525
#23 0x00007ffff70c2e88 in gtk_window_key_press_callback (gdk_event=0x2362c80, win=0x2cbeed0) at ../src/gtk/window.cpp:1060

some code:
Code
(gdb) f
#0  0x00007ffff74a8126 in wxPropertyGrid::DoEndLabelEdit (this=0x129fc90, commit=true, selFlags=0) at ../src/propgrid/propgrid.cpp:1055
1055         wxString text = m_labelEditor->GetValue();
(gdb) l
1050                             prop, NULL, selFlags,
1051                             m_selColumn ) )
1052                 return;
1053         }
1054
1055         wxString text = m_labelEditor->GetValue();
1056         wxPGCell* cell = NULL;
1057         if ( prop->HasCell(m_selColumn) )
1058         {
1059             cell = &prop->GetCell(m_selColumn);
(gdb) p m_labelEditor
$2 = (wxTextCtrl *) 0x0

no idea what is going on....

[EDIT:] i forget to tell: codeblocks actually asks gdb for the new value. In the debug log there is a "whatis m_vector->begin()"
« Last Edit: January 23, 2018, 01:26:26 am by BlueHazzard »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Crash debugger watches window editing label
« Reply #1 on: January 23, 2018, 09:03:02 am »
What distro? Can you try with wx-master?
Also, please report it on the tracker, here it will be forgotten.
Can you give me a minimal project and exact steps to reproduce?

I'm on windows at the moment, but I'll look at it when I switch to linux...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]