Pcbnew: crash on running DRC

Bug #1442909 reported by Karl Zeilhofer on 2015-04-11
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Undecided
Unassigned

Bug Description

The attached project leads to a crash of pcbnew, when running the DRC

Application: kicad
Version: 0.201503291001+5547~22~ubuntu14.10.1-product Release build
wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.1,wx containers,compatible with 2.8)
Platform: Linux 3.16.0-33-generic x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.54.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
         KICAD_USE_WEBKIT=OFF

Karl Zeilhofer (zeilhofer) wrote :
Chris Pavlina (pavlina-chris) wrote :

Not reproducible on my system. Any chance of running it under GDB to get a backtrace?

https://wiki.debian.org/HowToGetABacktrace

henrik (henrik-forsten) wrote :
Download full text (5.2 KiB)

I can reproduce this. It only happens when I keep the mouse on top of the progress bar window. Cause seems to be bug with wxBusyCursor in wxWidgets 3.0.1.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5010569 in gdk_cursor_ref () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
(gdb) bt
#0 0x00007ffff5010569 in gdk_cursor_ref () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#1 0x00007ffff5032ef1 in gdk_window_set_cursor () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#2 0x00007ffff6e548da in wxWindow::GTKUpdateCursor(bool, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#3 0x00007ffff6e20275 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#4 0x00007ffff6e20f16 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#5 0x00007ffff6e21081 in wxEndBusyCursor() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#6 0x00007fffda596245 in DIALOG_DRC_CONTROL::OnStartdrcClick (this=0x3ea1970, event=...) at /home/henrik/koodi/kicad.bzr/pcbnew/dialogs/dialog_drc.cpp:172
#7 0x00007ffff67668be in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8 0x00007ffff68f8368 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#9 0x00007ffff68f8756 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#10 0x00007ffff68f87de in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#11 0x00007ffff68f88a3 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#12 0x00007ffff68f8905 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#13 0x00007ffff68f8677 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#14 0x00007ffff6e9d3e1 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#15 0x00007ffff4daf474 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff4dc9057 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff4dc99af in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff5333425 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#19 0x00007ffff4daf245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff4dc080b in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff4dc9748 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff4dc99af in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff5332319 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x00007ffff53d8c0f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff4daf245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff4dc0e32 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x0000...

Read more...

Nick Østergaard (nickoe) wrote :

I can replicate this issue on archlinux with wxgtk 3.0.1 with gtk2. I can even replicate this issue when using an empty sheet (if you are fast enough).

Application: pcbnew
Version: (2015-04-12 BZR 5595)-product Debug build
wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.2,wx containers,compatible with 2.8)
Platform: Linux 3.19.3-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.57.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=OFF
         KICAD_SCRIPTING_MODULES=OFF
         KICAD_SCRIPTING_WXPYTHON=OFF
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
         KICAD_USE_WEBKIT=OFF

Nick Østergaard (nickoe) wrote :

I forgot to note that I can not make this segfault happen on wxgtk 3.0.2 and I get the same backtrace as Henrik in #3.

Karl Zeilhofer (zeilhofer) wrote :

Pcbnew also crashes, when filling the polygons with the shortcut B and then hold the cursor over the progress bar.

Your version uses wxWidgets: Version 3.0.1.
wxWidgets: Version 3.0.1 has a known bug relative to the mouse cursor icon.
It was fixed in 3.0.2.

Therefore fixing this bug in Kicad can be made only to use wxWidgets 3.0.2 instead of 3.0.1 to build Kicad.

Nick Østergaard (nickoe) wrote :

@Jean-Pierre, would a won't fix status be appropriate on this?

Changed in kicad:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers