pcbnew: Crash when placing a VIA

Bug #1841057 reported by Michael Geselbracht
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Critical
Seth Hillbrand

Bug Description

Pcbnew crashes when a VIA is placed using the routing tool.

Steps to reproduce:
1. Open pcbnew, nothing needs to be loaded
2. Start routing tool with 'X', press 'V' followed by LMB
   -> crash

Thread 1 "pcbnew" received signal SIGSEGV, Segmentation fault.
0x00007fffeca2ce39 in PNS::OPTIMIZER::smartPadsSingle (this=0x2e6de80, aLine=0x2e6e120, aPad=0x581bbe0, aEnd=false, aEndVertex=3) at /data/src/kicad-source-mirror/pcbnew/router/pns_optimizer.cpp:854
854 if( solid->Shape() && !solid->Shape()->Collide(

(gdb) p solid
$1 = (PNS::SOLID *) 0x0

(gdb) bt
#0 0x00007fffeca2ce39 in PNS::OPTIMIZER::smartPadsSingle (this=0x2e6de80, aLine=0x2e6e120, aPad=0x581bbe0, aEnd=false, aEndVertex=3) at /data/src/kicad-source-mirror/pcbnew/router/pns_optimizer.cpp:854
#1 0x00007fffeca2d7c5 in PNS::OPTIMIZER::runSmartPads (this=0x2e6de80, aLine=0x2e6e120) at /data/src/kicad-source-mirror/pcbnew/router/pns_optimizer.cpp:956
#2 0x00007fffeca2b299 in PNS::OPTIMIZER::Optimize (this=0x2e6de80, aLine=0x2e6e120, aResult=0x2e6e120) at /data/src/kicad-source-mirror/pcbnew/router/pns_optimizer.cpp:572
#3 0x00007fffeca07849 in PNS::LINE_PLACER::rhShoveOnly (this=0x23902a0, aP=..., aNewHead=...) at /data/src/kicad-source-mirror/pcbnew/router/pns_line_placer.cpp:641
#4 0x00007fffeca07b33 in PNS::LINE_PLACER::routeHead (this=0x23902a0, aP=..., aNewHead=...) at /data/src/kicad-source-mirror/pcbnew/router/pns_line_placer.cpp:672
#5 0x00007fffeca083a0 in PNS::LINE_PLACER::routeStep (this=0x23902a0, aP=...) at /data/src/kicad-source-mirror/pcbnew/router/pns_line_placer.cpp:763
#6 0x00007fffeca0859b in PNS::LINE_PLACER::route (this=0x23902a0, aP=...) at /data/src/kicad-source-mirror/pcbnew/router/pns_line_placer.cpp:799
#7 0x00007fffeca0934c in PNS::LINE_PLACER::Move (this=0x23902a0, aP=..., aEndItem=0x0) at /data/src/kicad-source-mirror/pcbnew/router/pns_line_placer.cpp:970
#8 0x00007fffec9b46f0 in PNS::ROUTER::movePlacing (this=0x5847000, aP=..., aEndItem=0x0) at /data/src/kicad-source-mirror/pcbnew/router/pns_router.cpp:334
#9 0x00007fffec9b3e23 in PNS::ROUTER::Move (this=0x5847000, aP=..., endItem=0x0) at /data/src/kicad-source-mirror/pcbnew/router/pns_router.cpp:238
#10 0x00007fffec9c8ff5 in ROUTER_TOOL::performRouting (this=0x5710f70) at /data/src/kicad-source-mirror/pcbnew/router/router_tool.cpp:811
#11 0x00007fffec9caad0 in ROUTER_TOOL::mainLoop (this=0x5710f70, aMode=PNS::PNS_MODE_ROUTE_SINGLE) at /data/src/kicad-source-mirror/pcbnew/router/router_tool.cpp:995
#12 0x00007fffec9ca35d in ROUTER_TOOL::RouteSingleTrace (this=0x5710f70, aEvent=...) at /data/src/kicad-source-mirror/pcbnew/router/router_tool.cpp:915
#13 0x00007fffec9d2d24 in std::_Mem_fn_base<int (ROUTER_TOOL::*)(TOOL_EVENT const&), true>::operator()<TOOL_EVENT const&, void> (this=0x56776c0, __object=0x5710f70) at /usr/include/c++/5/functional:600
#14 0x00007fffec9d2c28 in std::_Bind<std::_Mem_fn<int (ROUTER_TOOL::*)(TOOL_EVENT const&)> (ROUTER_TOOL*, std::_Placeholder<1>)>::__call<int, TOOL_EVENT const&, 0ul, 1ul>(std::tuple<TOOL_EVENT const&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x56776c0, __args=<unknown type in /usr/local/bin/_pcbnew.kiface, CU 0x58be008, DIE 0x593fded>) at /usr/include/c++/5/functional:1074
#15 0x00007fffec9d2a0c in std::_Bind<std::_Mem_fn<int (ROUTER_TOOL::*)(TOOL_EVENT const&)> (ROUTER_TOOL*, std::_Placeholder<1>)>::operator()<TOOL_EVENT const&, int>(TOOL_EVENT const&) (this=0x56776c0)
    at /usr/include/c++/5/functional:1133
#16 0x00007fffec9d2607 in std::_Function_handler<int (TOOL_EVENT const&), std::_Bind<std::_Mem_fn<int (ROUTER_TOOL::*)(TOOL_EVENT const&)> (ROUTER_TOOL*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, TOOL_EVENT const&) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1857
#17 0x00007fffecbc94a1 in std::function<int (TOOL_EVENT const&)>::operator()(TOOL_EVENT const&) const (this=0x5543ca8, __args#0=...) at /usr/include/c++/5/functional:2267
#18 0x00007fffecbc62e1 in COROUTINE<int, TOOL_EVENT const&>::callerStub (aData=140737488335664) at /data/src/kicad-source-mirror/include/tool/coroutine.h:331
#19 0x00007fffecc23261 in make_fcontext () from /usr/local/bin/_pcbnew.kiface
#20 0x0000000000000000 in ?? ()

Application: KiCad
Version: (5.1.4-50-g587731654), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-159-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=OFF
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

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

This happens in the master branch as well.

Changed in kicad:
status: New → Triaged
importance: Undecided → Critical
milestone: none → 5.1.5
Seth Hillbrand (sethh)
Changed in kicad:
status: Triaged → In Progress
assignee: nobody → Seth Hillbrand (sethh)
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 03d5bf0df54190432fe42433bd8672aac5dca649
https://git.launchpad.net/kicad/patch/?id=03d5bf0df54190432fe42433bd8672aac5dca649

Changed in kicad:
status: In Progress → Fix Committed
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.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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