Not reproducable crash while searching in eeschema

Bug #1516970 reported by Johannes Agricola
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
New
Undecided
Unassigned

Bug Description

I just experienced a random non-reproducable crash in eeschema while searching for a component in eeschema. IIRC: I opened the search window with Ctrl+F, typed in an existing reference designator, checkt the "Match whole word" box and hit "Enter". I'm confused that there is an "OnFindDialogClose" entry in the stack, so I'm not sure that this is actually what happened. Sorry.

I am not allowed to attach the whole core dump or a sample file, due to the data it contains. However, here is a stack trace:

#0 0x0000000000000000 in ?? ()
#1 0x00007f4da7adf718 in SCH_FIND_COLLECTOR::GetText (this=this@entry=0x1222308) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/sch_collectors.cpp:435
#2 0x00007f4da7a2d6b3 in SCH_EDIT_FRAME::updateFindReplaceView (this=this@entry=0x1221a30, aEvent=...) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/find.cpp:463
#3 0x00007f4da7a2ef1b in SCH_EDIT_FRAME::OnFindSchematicItem (this=this@entry=0x1221a30, aEvent=...) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/find.cpp:346
#4 0x00007f4da7b25770 in SCH_EDIT_FRAME::OnFindDialogClose (this=0x1221a30, event=...) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/schframe.cpp:886
#5 0x00007f4dc96cb71e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#6 0x00007f4dc9866f08 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7 0x00007f4dc986700b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8 0x00007f4dc98673b8 in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#9 0x00007f4da7bbb73c in EDA_BASE_FRAME::ProcessEvent (this=0x1221a30, aEvent=...) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/common/basicframe.cpp:164
#10 0x00007f4dc98671c3 in wxEvtHandler::DoTryChain(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#11 0x00007f4dc98674a5 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#12 0x00007f4da7a0533c in DIALOG_SCH_FIND::SendEvent (this=this@entry=0x4dc7a00, aEventType=<optimized out>) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/dialogs/dialog_schematic_find.cpp:249
#13 0x00007f4da7a055b0 in DIALOG_SCH_FIND::OnCancel (this=0x4dc7a00, aEvent=...) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/eeschema/dialogs/dialog_schematic_find.cpp:176
#14 0x00007f4dc96cb71e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#15 0x00007f4dc9866f08 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#16 0x00007f4dc98672f6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#17 0x00007f4dc986737e in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#18 0x00007f4dc9867443 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#19 0x00007f4dc98674a5 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#20 0x00007f4dc9ecf1bd in wxDialogBase::EmulateButtonClickIfPresent(int) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#21 0x00007f4dc9ecf29e in wxDialogBase::SendCloseButtonClickEvent() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#22 0x00007f4dc9ecf318 in wxDialogBase::OnCharHook(wxKeyEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#23 0x00007f4dc96cb71e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#24 0x00007f4dc9866f08 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#25 0x00007f4dc986700b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#26 0x00007f4dc98673b8 in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#27 0x00007f4dc9867443 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#28 0x00007f4dc98674a5 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#29 0x00007f4dc9fdb548 in wxWindowBase::TryAfter(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#30 0x00007f4dc9867217 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#31 0x00007f4dc9dcd9c6 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#32 0x00007f4dc8339d1f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#33 0x00007f4dc7d0f2d5 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007f4dc7d2103c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007f4dc7d291a5 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007f4dc7d298ff in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007f4dc845161c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#38 0x00007f4dc846518b in gtk_window_propagate_key_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#39 0x00007f4dc9dba9f8 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#40 0x00007f4dc8339d1f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#41 0x00007f4dc7d0f2d5 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007f4dc7d2103c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#43 0x00007f4dc7d291a5 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007f4dc7d298ff in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#45 0x00007f4dc845161c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#46 0x00007f4dc833853f in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#47 0x00007f4dc83388fb in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#48 0x00007f4dc7fabbac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#49 0x00007f4dc75c9c3d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f4dc75c9f20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007f4dc75ca242 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007f4dc8337857 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#53 0x00007f4dc9d9c745 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#54 0x00007f4dc9711750 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#55 0x00007f4dc96cda46 in wxAppConsoleBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#56 0x00000000004427c9 in APP_KICAD::OnRun (this=<optimized out>) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/kicad/kicad.cpp:274
#57 0x00007f4dc9768660 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#58 0x0000000000421a6e in main (argc=1, argv=<optimized out>) at /build/kicad-bxlhf4/kicad-4.0.0/kicad/kicad/kicad.cpp:306

I'm using kicad version 4.0.0-rc1-stable from the ubuntu repositories:
Application: kicad
Version: 4.0.0-rc1-stable release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.2,wx containers,compatible with 2.8)
Platform: Linux 3.19.0-18-generic x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.55.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON

(This is the first crash I've had in a long time on a complicated project. Keep up the good work! I really love kicad.)

Cheers,

Johannes

Revision history for this message
Johannes Agricola (johannes-agricola) wrote :

Umm... closing the search dialog takes me back to the last component I found using the search dialog. Even if I closed it in between, which is weird. So maybe one could reproduce it like this:

- Open the search dialog
- Look for an existing component
- Close the search dialog
- Delete that component
- Open the search dialog again
- Close the search dialog again

So far, reproducing like that has been unsuccessful. However, it may be that the memory of the deleted component has not been overwritten so far.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

This bug has already been fixed in rc2.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.