SHAPE_POLY_SET hangs at the sight of the Mona Lisa's beauty

Bug #1479567 reported by Chris Pavlina
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

Er, sort of.

This board file causes the 3D viewer to hang inside SHAPE_POLY_SET.

Backtrace from gdb, interrupted during the hang:

#0 0x00007fffe6d258d0 in __gnu_cxx::operator!=<FractureEdge**, std::vector<FractureEdge*, std::allocator<FractureEdge*> > > (__lhs=, __rhs=) at /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.2.0/../../../../include/c++/5.2.0/bits/stl_iterator.h:844
#1 0x00007fffe6d22625 in processEdge (edges=std::vector of length 5152, capacity 8192 = {...}, edge=0x34d14f0) at /tmp/kicad/common/geometry/shape_poly_set.cpp:339
#2 0x00007fffe6d2235b in SHAPE_POLY_SET::fractureSingle (this=0x7fffffffac48, paths=std::vector of length 21, capacity 21 = {...}) at /tmp/kicad/common/geometry/shape_poly_set.cpp:476
#3 0x00007fffe6d22cc5 in SHAPE_POLY_SET::Fracture (this=0x7fffffffac48) at /tmp/kicad/common/geometry/shape_poly_set.cpp:504
#4 0x00007fffe69abbbe in EDA_3D_CANVAS::buildTechLayers3DView (this=0x3048750, aErrorMessages=0x7fffffffb130, aActivity=0x7fffffffb108) at /tmp/kicad/3d-viewer/3d_draw_board_body.cpp:653
#5 0x00007fffe69a2cf2 in EDA_3D_CANVAS::CreateDrawGL_List (this=0x3048750, aErrorMessages=0x7fffffffb130, aActivity=0x7fffffffb108) at /tmp/kicad/3d-viewer/3d_draw.cpp:832
#6 0x00007fffe69a38f1 in EDA_3D_CANVAS::Redraw (this=0x3048750) at /tmp/kicad/3d-viewer/3d_draw.cpp:414
#7 0x00007fffe699b4fa in EDA_3D_CANVAS::OnPaint (this=0x3048750, event=...) at /tmp/kicad/3d-viewer/3d_canvas.cpp:527
#8 0x00007ffff6393fd9 in wxAppConsoleBase::HandleEvent (this=0x72d760, handler=0x3048750, func=(void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x7fffe699b4d0 <EDA_3D_CANVAS::OnPaint(wxPaintEvent&)>, event=...) at ./src/common/appbase.cpp:611
#9 0x00007ffff639404c in wxAppConsoleBase::CallEventHandler (this=0x72d760, handler=0x3048750, functor=..., event=...) at ./src/common/appbase.cpp:623
#10 0x00007ffff64b6d7a in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=0x3048750, event=...) at ./src/common/event.cpp:1392
#11 0x00007ffff64b5a8b in wxEventHashTable::HandleEvent (this=0x7fffe783d790 <EDA_3D_CANVAS::sm_eventHashTable>, event=..., self=0x3048750) at ./src/common/event.cpp:998
#12 0x00007ffff64b729b in wxEvtHandler::TryHereOnly (this=0x3048750, event=...) at ./src/common/event.cpp:1589
#13 0x00007ffff64b8c81 in wxEvtHandler::TryBeforeAndHere (this=0x3048750, event=...) at ./include/wx/event.h:3671
#14 0x00007ffff64b709f in wxEvtHandler::ProcessEventLocally (this=0x3048750, event=...) at ./src/common/event.cpp:1522
#15 0x00007ffff64b7037 in wxEvtHandler::ProcessEvent (this=0x3048750, event=...) at ./src/common/event.cpp:1495
#16 0x00007ffff64b734b in wxEvtHandler::SafelyProcessEvent (this=0x3048750, event=...) at ./src/common/event.cpp:1613
#17 0x00007ffff6df3da0 in wxWindowBase::HandleWindowEvent (this=0x3048750, event=...) at ./src/common/wincmn.cpp:1525
#18 0x00007ffff7bd101f in gtk_glwindow_map_callback (win=0x3048750) at ./src/gtk/glcanvas.cpp:49
#19 0x00007ffff2ede2f5 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff2ef002c in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0x00007ffff2ef8688 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#22 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff362406e in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x00007ffff34c4068 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x00007ffff348ac1f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x00007ffff2ede472 in ?? () from /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff2ef7f97 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff362406e in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x00007ffff345761a in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x00007ffff348ac1f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x00007ffff2ede472 in ?? () from /usr/lib/libgobject-2.0.so.0
#33 0x00007ffff2ef7f97 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#34 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#35 0x00007ffff362406e in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#36 0x00007ffff3634532 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x00007ffff2ede524 in ?? () from /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff2ef7f97 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#39 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#40 0x00007ffff362406e in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#41 0x00007ffff362e52e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x00007ffff2ede524 in ?? () from /usr/lib/libgobject-2.0.so.0
#43 0x00007ffff2ef7f97 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#44 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#45 0x00007ffff3623606 in gtk_widget_show () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x00007ffff6c509c2 in wxWindow::Show (this=0x2f9b600, show=true) at ./src/gtk/window.cpp:3191
#47 0x00007ffff6c43f7b in wxTopLevelWindowGTK::Show (this=0x2f9b600, show=true) at ./src/gtk/toplevel.cpp:1051
#48 0x00007fffe61f089e in PCB_EDIT_FRAME::Show3D_Frame (this=0xfe70c0, event=...) at /tmp/kicad/pcbnew/pcbframe.cpp:657
#49 0x00007ffff6393fd9 in wxAppConsoleBase::HandleEvent (this=0x72d760, handler=0xfe70c0, func=&virtual table offset 2520, event=...) at ./src/common/appbase.cpp:611
#50 0x00007ffff639404c in wxAppConsoleBase::CallEventHandler (this=0x72d760, handler=0xfe70c0, functor=..., event=...) at ./src/common/appbase.cpp:623
#51 0x00007ffff64b6d7a in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=0xfe70c0, event=...) at ./src/common/event.cpp:1392
#52 0x00007ffff64b5a8b in wxEventHashTable::HandleEvent (this=0x7fffe7834f40 <PCB_EDIT_FRAME::sm_eventHashTable>, event=..., self=0xfe70c0) at ./src/common/event.cpp:998
#53 0x00007ffff64b729b in wxEvtHandler::TryHereOnly (this=0xfe70c0, event=...) at ./src/common/event.cpp:1589
#54 0x00007ffff64b8c81 in wxEvtHandler::TryBeforeAndHere (this=0xfe70c0, event=...) at ./include/wx/event.h:3671
#55 0x00007ffff64b7022 in wxEvtHandler::ProcessEvent (this=0xfe70c0, event=...) at ./src/common/event.cpp:1491
#56 0x00007fffe6c6482d in EDA_BASE_FRAME::ProcessEvent (this=0xfe70c0, aEvent=...) at /tmp/kicad/common/basicframe.cpp:164
#57 0x00007ffff64b713a in wxEvtHandler::DoTryChain (this=0xfe7468, event=...) at ./src/common/event.cpp:1554
#58 0x00007ffff64b70b6 in wxEvtHandler::ProcessEventLocally (this=0xfe7468, event=...) at ./src/common/event.cpp:1522
#59 0x00007ffff64b7037 in wxEvtHandler::ProcessEvent (this=0xfe7468, event=...) at ./src/common/event.cpp:1495
#60 0x00007ffff6df9b6c in wxWindowBase::TryAfter (this=0x29af7a0, event=...) at ./src/common/wincmn.cpp:3427
#61 0x00007ffff64b706a in wxEvtHandler::ProcessEvent (this=0x29af7a0, event=...) at ./src/common/event.cpp:1508
#62 0x00007ffff64b734b in wxEvtHandler::SafelyProcessEvent (this=0x29af7a0, event=...) at ./src/common/event.cpp:1613
#63 0x00007ffff6df3da0 in wxWindowBase::HandleWindowEvent (this=0x29af7a0, event=...) at ./src/common/wincmn.cpp:1525
#64 0x00007ffff6da65b4 in wxMenuBase::SendEvent (this=0x29f7990, itemid=6600, checked=-1) at ./src/common/menucmn.cpp:666
#65 0x00007ffff6cb3c7d in menuitem_activate (item=0x2a03d40) at ./src/gtk/menu.cpp:582
#66 0x00007ffff2ede2f5 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#67 0x00007ffff2ef002c in ?? () from /usr/lib/libgobject-2.0.so.0
#68 0x00007ffff2ef8688 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#69 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#70 0x00007ffff361c24c in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#71 0x00007ffff2ede2f5 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#72 0x00007ffff2ef002c in ?? () from /usr/lib/libgobject-2.0.so.0
#73 0x00007ffff2ef8195 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#74 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#75 0x00007ffff34439de in gtk_accel_group_activate () from /usr/lib/libgtk-x11-2.0.so.0
#76 0x00007ffff3444db1 in gtk_accel_groups_activate () from /usr/lib/libgtk-x11-2.0.so.0
#77 0x00007ffff3633dc5 in gtk_window_activate_key () from /usr/lib/libgtk-x11-2.0.so.0
#78 0x00007ffff6c41a3b in wxgtk_tlw_key_press_event (widget=0x8811d0, event=0x7fffd40025f0) at ./src/gtk/toplevel.cpp:246
#79 0x00007ffff350690f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#80 0x00007ffff2ede2f5 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#81 0x00007ffff2ef002c in ?? () from /usr/lib/libgobject-2.0.so.0
#82 0x00007ffff2ef8195 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#83 0x00007ffff2ef88ef in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#84 0x00007ffff361dbac in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#85 0x00007ffff350512f in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#86 0x00007ffff35054eb in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#87 0x00007ffff317a2cc in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#88 0x00007ffff21bd9fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#89 0x00007ffff21bdce0 in ?? () from /usr/lib/libglib-2.0.so.0
#90 0x00007ffff21be002 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#91 0x00007ffff3504467 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#92 0x00007ffff6c2fce9 in wxGUIEventLoop::DoRun (this=0x2e9f030) at ./src/gtk/evtloop.cpp:65
#93 0x00007ffff63d2509 in wxEventLoopBase::Run (this=0x2e9f030) at ./src/common/evtloopcmn.cpp:78
#94 0x00007ffff63933f4 in wxAppConsoleBase::MainLoop (this=0x72d760) at ./src/common/appbase.cpp:334
#95 0x00007ffff6393119 in wxAppConsoleBase::OnRun (this=0x72d760) at ./src/common/appbase.cpp:259
#96 0x00007ffff6ce82ff in wxAppBase::OnRun (this=0x72d760) at ./src/common/appcmn.cpp:304
#97 0x00000000004226bb in APP_SINGLE_TOP::OnRun (this=0x72d760) at /tmp/kicad/common/single_top.cpp:159
#98 0x00007ffff6408256 in wxEntry (argc=@0x7ffff677ab50: 1, argv=0x72ab60) at ./src/common/init.cpp:495
#99 0x00007ffff640832c in wxEntry (argc=@0x7fffffffe2a8: 1, argv=0x7fffffffe398) at ./src/common/init.cpp:507
#100 0x000000000041bfb6 in main (argc=1, argv=0x7fffffffe398) at /tmp/kicad/common/single_top.cpp:196

Application: pcbnew
Version: (2015-07-29 BZR 6016, Git 06c1f76)-product debug build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.2.1,wx containers,compatible with 2.8)
Platform: Linux 4.1.3-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.58.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

Tags: cern pcbnew

Related branches

Revision history for this message
Chris Pavlina (pavlina-chris) wrote :
Changed in kicad:
status: New → 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.