Crash on track vs keepout area DRC

Bug #1791965 reported by Andrzej Wolski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Critical
Jeff Young

Bug Description

Attached board (containing only track segment and keepout area) causes pcbnew crash when running DRC.

Backtrace:

#0 0x00007fffe8f0f14a in std::vector<SHAPE_LINE_CHAIN, std::allocator<SHAPE_LINE_CHAIN> >::operator[](unsigned long) const (this=0x0, __n=0) at /usr/include/c++/7/bits/stl_vector.h:816
#1 0x00007fffe97eb90e in SHAPE_POLY_SET::containsSingle(VECTOR2<int> const&, int, bool) const (this=
    0x555556b14d88, aP=..., aSubpolyIndex=0, aIgnoreHoles=false)
    at /home/user/Documents/kicad/common/geometry/shape_poly_set.cpp:1474
#2 0x00007fffe97ebedf in SHAPE_POLY_SET::DistanceToPolygon(VECTOR2<int>, int) (this=0x555556b14d88, aPoint=..., aPolygonIndex=0) at /home/user/Documents/kicad/common/geometry/shape_poly_set.cpp:1563
#3 0x00007fffe97ec197 in SHAPE_POLY_SET::Distance(VECTOR2<int>) (this=0x555556b14d88, aPoint=...)
    at /home/user/Documents/kicad/common/geometry/shape_poly_set.cpp:1621
#4 0x00007fffe8f99867 in DRC::newMarker(TRACK*, ZONE_CONTAINER*, int) (this=0x555557cae870, aTrack=
    0x55555a21c5c0, aConflictZone=0x555556b14cc0, aErrorCode=39)
    at /home/user/Documents/kicad/pcbnew/drc_marker_functions.cpp:63
#5 0x00007fffe8f8a5be in DRC::testKeepoutAreas() (this=0x555557cae870)
    at /home/user/Documents/kicad/pcbnew/drc.cpp:931
#6 0x00007fffe8f87d17 in DRC::RunTests(wxTextCtrl*) (this=0x555557cae870, aMessages=0x55555962d000)
    at /home/user/Documents/kicad/pcbnew/drc.cpp:486

Note: this bug does not affect 5.0

Application: pcbnew
Version: (6.0.0-rc1-dev-478-gc120ae9e9), release build
Libraries:
    wxWidgets 3.0.3
    libcurl/7.57.0 OpenSSL/1.0.2n (WinSSL) zlib/1.2.11 libidn2/2.0.4 libssh2/1.8.0 nghttp2/1.29.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.66.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.57.0
    Compiler: GCC 7.3.0 with C++ ABI 1011

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

Tags: pcbnew
Revision history for this message
Andrzej Wolski (awolski) wrote :
Jeff Young (jeyjey)
Changed in kicad:
importance: Undecided → Critical
milestone: none → 5.1.0
assignee: nobody → Jeff Young (jeyjey)
status: New → In Progress
Revision history for this message
staviq (staviq) wrote :

I was about to post this, it seems like i have the same problem, except my project is a bit more complicated and imported from eagle.

Application: kicad
Version: (6.0.0-rc1-dev-475-g8b850fa), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Platform: Mac OS X (Darwin 17.7.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.51.0
    Compiler: Clang 8.0.0 with C++ ABI 1002

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

osx crash report: https://pastebin.com/Le1MsKeY

If you need i can send you my project, except only via email because nda.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 8b064e1ee2df28d6452f07b8f022f10e71a638ed
https://git.launchpad.net/kicad/patch/?id=8b064e1ee2df28d6452f07b8f022f10e71a638ed

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.

Other bug subscribers

Remote bug watches

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