GLib assertion on constrained zone creation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
High
|
Seth Hillbrand |
Bug Description
When you try to create a zone that is constrained to H/V/45 from the start, glibc++ throws an assertion
/usr/bin/
Steps to reproduce:
1) Start zone tool
2) Click to start zone
3) In dialog, check the "constrain outline to H, V, 45 degrees" flag
4) Click OK
It appears this is happening because there is only 1 point in the zone to start with, and a test is trying to create a segment using two points of the zone. This causes the indexing at shape_line_
The backtrace of the event is below.
* thread #1, name = 'pcbnew', stop reason = signal SIGABRT
* frame #0: 0x00007f75ac527e75 libc.so.
frame #1: 0x00007f75ac512895 libc.so.
frame #2: 0x00007f75a4b89537 _pcbnew.
frame #3: 0x00007f75a4cfe945 _pcbnew.
frame #4: 0x00007f75a4e8ffa7 _pcbnew.
frame #5: 0x00007f75a5cdf004 _pcbnew.
frame #6: 0x00007f75a5cdeca9 _pcbnew.
frame #7: 0x00007f75a5175fdd _pcbnew.
frame #8: 0x00007f75a518a47a _pcbnew.kiface`int std::__
frame #9: 0x00007f75a518a399 _pcbnew.
frame #10: 0x00007f75a518a306 _pcbnew.kiface`int std::_Bind<int (DRAWING_TOOL::* (DRAWING_TOOL*, std::_Placehold
frame #11: 0x00007f75a518a1ac _pcbnew.kiface`int std::_Bind<int (DRAWING_TOOL::* (DRAWING_TOOL*, std::_Placehold
frame #12: 0x00007f75a5189e45 _pcbnew.
frame #13: 0x00007f75a5f17162 _pcbnew.
frame #14: 0x00007f75a5f16e2f _pcbnew.
frame #15: 0x00007f75a5f1b731 _pcbnew.
This seems to happen on both the 5.1 and master branches.
Application: Pcbnew
Version: (5.99.0-
Libraries:
wxWidgets 3.0.4
libcurl/7.65.3 OpenSSL/1.1.1c-fips zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.0.5) libssh/
Platform: Linux 5.1.18-
Build Info:
Build date: Sep 27 2019 19:04:14
wxWidgets: 3.0.4 (wchar_t,wx containers,
Boost: 1.69.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.65.3
Compiler: Clang 8.0.0 with C++ ABI 1002
Build settings:
KICAD_
KICAD_
KICAD_
KICAD_
KICAD_
KICAD_
BUILD_
KICAD_
KICAD_
KICAD_SPICE=ON
KICAD_
KICAD_
KICAD_
description: | updated |
Changed in kicad: | |
assignee: | nobody → Seth Hillbrand (sethh) |
status: | New → In Progress |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
I'm going to put this to high for 5.1.5 since it can cause the entire program to crash on Fedora (due to their enabling of the GLib assertions for all programs).