Footprint Editor crashes with new python Footprint wizard after R6155

Bug #1493052 reported by Michael Kruschinsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

Application: pcbnew
Version: 2015.09.07 BZR6163-product debug build
wxWidgets: Version 3.0.2 (release,wchar_t,compiler with C++ ABI 1002,GCC 4.8.3,STL containers,compatible with 2.8)
Platform: Linux 3.16.7-24-desktop 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

I am getting a segfault on Linux openSUSE 13.2, when i create a footprint with the python scripting footprint wizard. I have test it with R6154, the footprint wizard works as well. After R6155 i become always a segfault, if i create a new footprint with the python scripting wizard. On Win7 it's looks like good.

Steps to reproduce:

1. load Board project
2. click on Footprint Editor Icon
3. In Footprint Editor click on "New footprint using the footprint wizard"
4. click on "select the wizard script to load and run"
5. select a footprint

Now the footprint is loaded and the new message windows is shown. Now i export it to the editor, if i click on the export icon

6. click on the export icon, kicad is crashed.

Here is a Backtrace from gdb:

Starting program: /usr/bin/pcbnew
Got object file from memory but can't read symbols: File truncated.
Missing separate debuginfos, use: zypper install kicad-unstable-debuginfo-20150907_R6163-1.1.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 32427.
Detaching after fork from child process 32428.
[New Thread 0x7fffea66d700 (LWP 32429)]
[New Thread 0x7fffe9e6c700 (LWP 32430)]
LIB_ENV_VAR:'/usr/bin:/usr/lib64/mpi/gcc/openmpi/lib64:/opt/AMDAPPSDK/lib/x86_64/:/opt/AMDAPPSDK/lib/x86/::/projekte/cuda-7.0/lib64:/projekte/cuda-7.0/lib64:/projekte/cuda-7.0/lib64:/projekte/cuda-7.0/lib64'
Detaching after fork from child process 32447.
Detaching after fork from child process 32449.
Detaching after fork from child process 32451.
Detaching after fork from child process 32453.
Detaching after fork from child process 32455.
Detaching after fork from child process 32465.
Detaching after fork from child process 32475.
Detaching after fork from child process 32485.
kiface SEARCH_STACK:
  [ 0]:/usr/share/modules
  [ 1]:/usr/share/kicad/modules
  [ 2]:/usr/share/kicad/modules/packages3d
  [ 3]:/usr/share/kicad/template
  [ 4]:/usr/local/share
[New Thread 0x7fffdbaf4700 (LWP 32658)]
Detaching after fork from child process 32765.

(pcbnew:32423): Gdk-CRITICAL **: IA__gdk_window_process_updates: assertion 'GDK_IS_WINDOW (window)' failed
wxFrame 14PCB_EDIT_FRAME : disabled
wxFrame 20FOOTPRINT_EDIT_FRAME : disabled
IsDismissed: ret:1
wxFrame 14PCB_EDIT_FRAME : enabled
wxFrame 20FOOTPRINT_EDIT_FRAME : enabled
wxFrame 22FOOTPRINT_WIZARD_FRAME : enabled
~ShowModal: aResult:'' ret:1

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe619bcef in FOOTPRINT_WIZARD_MESSAGES::ClearScreen (this=0x43751f0) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/pcbnew/footprint_wizard_frame.cpp:684
684 m_messageWindow->Clear();
(gdb) bt
#0 0x00007fffe619bcef in FOOTPRINT_WIZARD_MESSAGES::ClearScreen() (this=0x43751f0) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/pcbnew/footprint_wizard_frame.cpp:684
#1 0x00007fffe6197728 in FOOTPRINT_WIZARD_FRAME::DisplayBuildMessage(wxString&) (this=0x429c360, aMessage=...)
    at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/pcbnew/footprint_wizard.cpp:132
#2 0x00007fffe6197998 in FOOTPRINT_WIZARD_FRAME::GetBuiltFootprint() (this=0x429c360) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/pcbnew/footprint_wizard.cpp:164
#3 0x00007fffe622b7f7 in FOOTPRINT_EDIT_FRAME::Process_Special_Functions(wxCommandEvent&) (this=0x2a66fb0, event=...) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/pcbnew/modedit.cpp:350
#4 0x00007ffff6bd26de in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /usr/lib64/libwx_baseu-suse.so.1
#5 0x00007ffff6d11912 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#6 0x00007ffff6d12463 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib64/libwx_baseu-suse.so.1
#7 0x00007ffff6d124cd in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#8 0x00007fffe67d1b18 in EDA_BASE_FRAME::ProcessEvent(wxEvent&) (this=0x2a66fb0, aEvent=...) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/common/basicframe.cpp:164
#9 0x00007ffff6d11a43 in wxEvtHandler::DoTryChain(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#10 0x00007ffff6d12599 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#11 0x00007ffff7387162 in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib64/libwx_gtk2u_core-suse.so.1
#12 0x00007fffe58c3068 in wxAuiToolBar::OnLeftUp(wxMouseEvent&) () at /usr/lib64/libwx_gtk2u_aui-suse.so.1
#13 0x00007ffff6bd26de in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /usr/lib64/libwx_baseu-suse.so.1
#14 0x00007ffff6d11912 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#15 0x00007ffff6d12463 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib64/libwx_baseu-suse.so.1
#16 0x00007ffff6d124cd in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#17 0x00007ffff6d12543 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#18 0x00007ffff6d12599 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#19 0x00007ffff6d11a97 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib64/libwx_baseu-suse.so.1
#20 0x00007ffff724d8d3 in () at /usr/lib64/libwx_gtk2u_core-suse.so.1
#21 0x00007ffff5874355 in () at /usr/lib64/libgtk-x11-2.0.so.0
#22 0x00007ffff4dd9e78 in g_closure_invoke () at /usr/lib64/libgobject-2.0.so.0
#23 0x00007ffff4deb09d in () at /usr/lib64/libgobject-2.0.so.0
#24 0x00007ffff4df2a38 in g_signal_emit_valist () at /usr/lib64/libgobject-2.0.so.0
#25 0x00007ffff4df3022 in g_signal_emit () at /usr/lib64/libgobject-2.0.so.0
#26 0x00007ffff5984024 in () at /usr/lib64/libgtk-x11-2.0.so.0
#27 0x00007ffff5872b04 in gtk_propagate_event () at /usr/lib64/libgtk-x11-2.0.so.0
#28 0x00007ffff5872ebb in gtk_main_do_event () at /usr/lib64/libgtk-x11-2.0.so.0
#29 0x00007ffff54e3bfc in () at /usr/lib64/libgdk-x11-2.0.so.0
#30 0x00007ffff4b06a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#31 0x00007ffff4b06c48 in () at /usr/lib64/libglib-2.0.so.0
#32 0x00007ffff4b06f0a in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#33 0x00007ffff5871fa7 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0
#34 0x00007ffff7234f95 in wxGUIEventLoop::DoRun() () at /usr/lib64/libwx_gtk2u_core-suse.so.1
#35 0x00007ffff6c02b21 in wxEventLoopBase::Run() () at /usr/lib64/libwx_baseu-suse.so.1
#36 0x00007ffff6bd2c4d in wxAppConsoleBase::MainLoop() () at /usr/lib64/libwx_baseu-suse.so.1
#37 0x000000000042b68d in APP_SINGLE_TOP::OnRun() (this=0x6e4570) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/common/single_top.cpp:159
#38 0x00007ffff6c4bc4d in wxEntry(int&, wchar_t**) () at /usr/lib64/libwx_baseu-suse.so.1
#39 0x0000000000427ef5 in main(int, char**) (argc=1, argv=0x7fffffffd3b8) at /projekte/rpmbuild/BUILD/kicad-unstable-20150907_R6163/common/single_top.cpp:196
(gdb) quit

I think there is a little bug in the Clear() Function?

pcbnew/footprint_wizard_frame.cpp:684
pcbnew/footprint_wizard_frame.cpp: m_messageWindow->Clear();

I have update my openSUSE13.2 system, recompile the R6154 version and it works well, but after R6155 it does not work.

Tags: pcbnew
Revision history for this message
jean-pierre charras (jp-charras) wrote :

I do not have this crash.
I think I fixed it in rev 6165 (from your trace), but I cannot be sure.
Can you test this rev 6165?

Changed in kicad:
status: New → Incomplete
Revision history for this message
Michael Kruschinsky (proteusmk) wrote :

I have test the R6165 developer version and in this version the footprint wizard does not crashed and it works, thank you!!!. I try test it tomorrow on windows win7 and let you know tomorrow.

regards
Michael Kruschinsky

Changed in kicad:
status: Incomplete → Fix Committed
Jon Neal (reportingsjr)
Changed in kicad:
status: Fix Committed → Fix Released
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.