PCBNew Fatal Crash deleting locked items most recent release

Bug #1840590 reported by Brian Piccioni
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
Critical
Unassigned

Bug Description

I know this bug has been reported but is was marked fixed and I have a test file (attached)

There appears to be 2 bugs in PCBNew. One is serious and causes a fatal crash.

1) Deleting locked track fragment @146.05 134.5946 causes a fatal crash. I had numerous other crashes, apparently while deleting locked items but those seemed to be hit and miss as I tried to narrow the bug down. The bug would always appear the same way: instead of the "Delete again ..." message coming up a grey box will appear and PCBNew crashes.

The happens 100% of the time with my file (attached) whether I run PCBNew standalone or from Kicad

2) In order to try and narrow down the nature of the bug I ran PCBNew standalone. I notice that the layers manager goes wonky and there is a long delay in loading the board. This does not occur when running PCBNew from Kicad. I will report a separate bug.

Application: Pcbnew
Version: (5.1.4)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 7.3.0 with C++ ABI 1011

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=ON
    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
Brian Piccioni (br0an) wrote :
Revision history for this message
Seth Hillbrand (sethh) wrote :

The procedure does not reproduce for me on Linux. Anyone with MSW able to reproduce?

Application: Pcbnew
Version: (5.1.4-25-g65f2af584), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1c zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.0-5-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: GCC 8.3.0 with C++ ABI 1013

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

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

On my W7 install, Kicad 5.1.4-26 - debug build does not crash, but 5.1.4-1 Release build crashes.

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

Deleting the track segment crashes Pcbnew on macOS release version.

Application: Pcbnew
Version: (5.1.4-0-10_14), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1
Platform: Mac OS X (Darwin 18.7.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (wchar_t,STL containers,compatible with 2.8)
    Boost: 1.69.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.54.0
    Compiler: Clang 9.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_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    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: added: pcbnew
Changed in kicad:
importance: Undecided → Critical
milestone: none → 5.1.5
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :
Revision history for this message
Seth Hillbrand (sethh) wrote :

@Brian- Could you test a 5.1 nightly build and see if the issue is resolved for you there?

https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/testing/5.1/

Revision history for this message
Brian Piccioni (br0an) wrote :
Revision history for this message
Seth Hillbrand (sethh) wrote :

It is the name of the ci software that automatically generated the new builds

Revision history for this message
Brian Piccioni (br0an) wrote :

I downloaded the most recent build and it seems to work on the file I submitted. Here is the version info in case I'm testing the wrong thing.

Bug https://bugs.launchpad.net/kicad/+bug/1840591 seems to be unchanged (i.e. still "wonky" behavior on layers manager when PCBNew launched standalone) but that doesn't cause a crash so its less critical.

Seems like very fast turnaround for a serious bug! Thanks!

Application: Pcbnew
Version: (5.1.4-26-gdcd31f570)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 7.3.0 with C++ ABI 1011

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=ON
    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

Revision history for this message
Nick Østergaard (nickoe) wrote :

I certainly saw this on linux as well. I updated to 5.1 tip and I didn't see it. I may be fixed or have become sporadic. I will attach one of my earlier stacktraces.

Revision history for this message
Nick Østergaard (nickoe) wrote :

I am not exactly sure what commit it was, but 5.1.4+

(gdb) bt
#0 0x0000000000000020 in ()
#1 0x00007f8a0371632d in VECTOR2<double>::operator=(VECTOR2<double> const&) (aVector=..., aVector=..., this=<optimized out>) at /home/nickoe/kicad-source-mirror/include/math/vector2d.h:321
#2 0x00007f8a0371632d in TOOL_EVENT::operator=(TOOL_EVENT const&) (this=<optimized out>) at /home/nickoe/kicad-source-mirror/include/tool/tool_event.h:168
#3 0x00007f8a0371632d in TOOL_MANAGER::dispatchInternal(TOOL_EVENT const&) (this=0x565539faaa00, aEvent=...) at /home/nickoe/kicad-source-mirror/common/tool/tool_manager.cpp:560
#4 0x00007f8a03718134 in TOOL_ACTION::MakeEvent() const (this=0x56553b1bb9d0) at /home/nickoe/kicad-source-mirror/include/tool/tool_action.h:159
#5 0x00007f8a03718134 in TOOL_MANAGER::RunAction(TOOL_ACTION const&, bool, void*) (this=0x56553b1bba60, aAction=..., aNow=<optimized out>, aParam=0x0) at /home/nickoe/kicad-source-mirror/common/tool/tool_manager.cpp:295
#6 0x000056553b1bbba8 in ()
#7 0x000056553b1c8070 in ()
#8 0x00007f8a03718205 in TOOL_MANAGER::RunAction(TOOL_ACTION const&, bool, void*) (this=0x565539faab30, aAction=..., aNow=<optimized out>, aParam=<optimized out>) at /usr/include/c++/9.1.0/ext/new_allocator.h:119
#9 0x000056553a98cc30 in ()
#10 0x000000000000b816 in ()
#11 0x000056553b1bbc10 in ()
#12 0x0000000000000000 in ()

Revision history for this message
Seth Hillbrand (sethh) wrote :

We'll set this to fix committed. If someone has some time to bisect this, that could be useful

Changed in kicad:
status: New → Fix Committed
Revision history for this message
Nick Østergaard (nickoe) wrote :

@Seth, I was a bit curios about this so I tried to bisect this.

It seems that 3f91db25d43f2c19ec041e7f25985d824191fe20 fixes the issue.

Essential a minimal cherry-pick of bug https://bugs.launchpad.net/kicad/+bug/1839534

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.