Opening EAGLE .brd as KiCad .brd in pcbnew standalone mode leads to crash
Description
KiCad crashes when someone incorrectly opens pcbnew with an eagle board attached. KiCad should not crash in this case.
Steps to reproduce
- Load the EAGLE board directly on startup
pcbnew eagle_board.brd
- Close all dialog boxes spawn
- pcbnew crashes
Thread 1 "pcbnew" received signal SIGSEGV, Segmentation fault.
0x00007ffff78072d7 in ?? () from /usr/lib/libwx_gtk3u_core-3.0.so.0
(gdb) bt
#0 0x00007ffff78072d7 in () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#1 0x00007ffff73ebd1e in wxMBConv::FromWChar(char*, unsigned long, wchar_t const*, unsigned long) const () at /usr/lib/libwx_baseu-3.0.so.0
#2 0x00007ffff73f7508 in wxString::AsChar(wxMBConv const&) const () at /usr/lib/libwx_baseu-3.0.so.0
#3 0x00007ffff74652f7 in () at /usr/lib/libwx_baseu-3.0.so.0
#4 0x00007ffff7466671 in wxSingleInstanceChecker::~wxSingleInstanceChecker() () at /usr/lib/libwx_baseu-3.0.so.0
#5 0x0000555555676b62 in std::default_delete<wxSingleInstanceChecker>::operator()(wxSingleInstanceChecker*) const (this=0x555555ec9db0, __ptr=0x555555df2f70)
at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/unique_ptr.h:85
#6 std::unique_ptr<wxSingleInstanceChecker, std::default_delete<wxSingleInstanceChecker> >::~unique_ptr() (this=0x555555ec9db0) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/unique_ptr.h:361
#7 SETTINGS_MANAGER::~SETTINGS_MANAGER() (this=0x555555ec9c60) at /home/thomas/Projekte/Kicad/kicad-source-mirror/common/settings/settings_manager.cpp:78
#8 0x000055555562495e in std::default_delete<SETTINGS_MANAGER>::operator()(SETTINGS_MANAGER*) const (this=0x5555557be9a8 <program+24>, __ptr=0x555555ec9c60)
at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/unique_ptr.h:85
#9 std::unique_ptr<SETTINGS_MANAGER, std::default_delete<SETTINGS_MANAGER> >::~unique_ptr() (this=0x5555557be9a8 <program+24>) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/unique_ptr.h:361
#10 PGM_BASE::~PGM_BASE() (this=0x5555557be990 <program>) at /home/thomas/Projekte/Kicad/kicad-source-mirror/common/pgm_base.cpp:124
#11 0x00007ffff53304a7 in __run_exit_handlers () at /usr/lib/libc.so.6
#12 0x00007ffff533064e in () at /usr/lib/libc.so.6
#13 0x00007ffff5318b2c in __libc_start_main () at /usr/lib/libc.so.6
#14 0x000055555561926e in _start ()
KiCad Version
Application: KiCad
Version: (6.99.0-177-gd634b33c34), release build
Libraries:
wxWidgets 3.0.5
libcurl/7.80.0 OpenSSL/1.1.1m zlib/1.2.11 brotli/1.0.9 zstd/1.5.1 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.46.0
Platform: Linux 5.15.12-arch1-1 x86_64, 64 bit, Little endian, wxGTK, gnome, wayland
Build Info:
Date: Jan 1 2022 12:36:09
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.78.0
OCC: 7.5.3
Curl: 7.80.0
ngspice: 35
Compiler: Clang 13.0.0 with C++ ABI 1002
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON
Edited by Thomas Pointhuber