Hello,
I found a reproducible bug in the DRC window once the DRC checker has been run. Version info is below. I am using flatpak on Debian Bullseye. I don’t know if other systems are affected.
Application: KiCad x86_64 on x86_64
Version: 7.0.5, release build
Libraries:
wxWidgets 3.2.2
FreeType 2.12.1
HarfBuzz 5.2.0
FontConfig 2.14.1
libcurl/7.86.0-DEV OpenSSL/3.0.8 zlib/1.2.13 nghttp2/1.52.0
Platform: Linux 6.1.0-0.deb11.7-amd64 x86_64, 64 bit, Little endian, wxGTK, gnome, wayland
Build Info:
Date: May 26 2023 22:16:44
wxWidgets: 3.2.2 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.82.0
OCC: 7.7.1
Curl: 7.86.0-DEV
ngspice: 40
Compiler: GCC 12.2.0 with C++ ABI 1017
Build settings:
KICAD_SPICE=ON
Method of reproduction:
- Obtain a schematic/pcb pair with at least one DRC detectable difference between the schematic and pcb.
- Run DRC with the test for parity between schematic and pcb
- Click on the Schematic parity column, checking to see that at least one error has been reported.
- KiCad has crashed with an assertion error message:
Gtk-Message: 13:36:51.842: Failed to load module “canberra-gtk-module”
Gtk-Message: 13:36:51.906: Failed to load module “canberra-gtk-module”
/usr/include/c++/12.2.0/bits/stl_vector.h:1123: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator [with _Tp = PCB_LAYER_ID; _Alloc = std::allocator<PCB_LAYER_ID>; reference = PCB_LAYER_ID&; size_type = long unsigned int]: Assertion ‘__n < this->size()’ failed.
I can post the project files if they are needed to verify the behavior.
A possible (untested) workaround is forward annotation from schematic to pcb. I don’t intend to test this idea until I send the project files if required.
I use my own symbol and footprint libraries.
I have been ignoring the Gtk-messages relating to canberra load failures.
Cheers
John
Edit: The forward annotation idea doesn’t work. The claimed mismatches between the schematic and PCB cannot be determined.