News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Crash debugger watches window editing label

Started by BlueHazzard, January 23, 2018, 01:18:38 AM

Previous topic - Next topic

BlueHazzard

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:

#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:

(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()"

oBFusCATed

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!]