Delete/cut symbol causes symbol editor crash
Description
A symbol could not be deleted or cut in symbol editor if it is imported from .lib file or newly created. This action will crash the symbol editor with a SIGSEGV.
Steps to reproduce
- Create or import a symbol in an existing library (or create a new one). You can keep everything else default and just enter a symbol name.
- (optional) Save the library. (My machine also reported fail to save the dcm file; I do not know if this affect. Whether this created symbol has description doesn't affect the situation here.)
- Right click the new symbol and delete or cut it. 截图录屏_plasmashell_20200611183651
Backtrace (probably useless)
Thread 1 "kicad" received signal SIGSEGV, Segmentation fault.
0x00007fffe1e713c1 in ?? () from /usr/bin/_eeschema.kiface
(gdb) bt
#0 0x00007fffe1e713c1 in () at /usr/bin/_eeschema.kiface
#1 0x00007ffff7e4f587 in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#2 0x00007ffff7e529c8 in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#3 0x00007ffff7e54033 in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#4 0x00007ffff66cbf3e in () at /usr/lib/libgtk-3.so.0
#5 0x00007ffff66cbf08 in () at /usr/lib/libgtk-3.so.0
#6 0x00007ffff66cc313 in () at /usr/lib/libgtk-3.so.0
#7 0x00007ffff66ca75d in gtk_tree_view_set_model () at /usr/lib/libgtk-3.so.0
#8 0x00007ffff7e4db1d in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#9 0x00007ffff7e4e83a in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#10 0x00007ffff7dac5c2 in wxDataViewModel::Cleared() () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#11 0x00007fffe1e73692 in () at /usr/bin/_eeschema.kiface
#12 0x00007fffe1dc87d6 in () at /usr/bin/_eeschema.kiface
#13 0x00007fffe1b196de in () at /usr/bin/_eeschema.kiface
#14 0x00007fffe1b48729 in () at /usr/bin/_eeschema.kiface
#15 0x00007fffe1afed2e in () at /usr/bin/_eeschema.kiface
#16 0x00007ffff74b24c1 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
() at /usr/lib/libwx_baseu-3.0.so.0
#17 0x00007ffff74b25c4 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/libwx_baseu-3.0.so.0
#18 0x00007ffff74b290e in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#19 0x00007fffe1e3051d in () at /usr/bin/_eeschema.kiface
#20 0x00007ffff74b2783 in wxEvtHandler::DoTryChain(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#21 0x00007ffff74b2a32 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#22 0x00007ffff7a16f4a in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#23 0x00007ffff7a16f4a in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#24 0x00007ffff74b27c7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#25 0x00007ffff79c9311 in wxMenuBase::SendEvent(int, int) () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#26 0x00007ffff78b42e0 in () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#27 0x00007ffff6433052 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff645b685 in () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff644f41d in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff644f980 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff66b10db in gtk_widget_activate () at /usr/lib/libgtk-3.so.0
#32 0x00007ffff67e695d in gtk_menu_shell_activate_item () at /usr/lib/libgtk-3.so.0
#33 0x00007ffff67e9494 in () at /usr/lib/libgtk-3.so.0
#34 0x00007ffff6949e1c in () at /usr/lib/libgtk-3.so.0
#35 0x00007ffff644f80a in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#36 0x00007ffff644f980 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff66b2c26 in () at /usr/lib/libgtk-3.so.0
#38 0x00007ffff67f9095 in () at /usr/lib/libgtk-3.so.0
#39 0x00007ffff67fc62c in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#40 0x00007ffff650d234 in () at /usr/lib/libgdk-3.so.0
#41 0x00007ffff64b9c34 in () at /usr/lib/libgdk-3.so.0
#42 0x00007ffff61a743c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#43 0x00007ffff61f4fa9 in () at /usr/lib/libglib-2.0.so.0
#44 0x00007ffff61a6221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#45 0x00007ffff67f5ae7 in gtk_main_iteration () at /usr/lib/libgtk-3.so.0
#46 0x00007ffff784e796 in wxWindow::DoPopupMenu(wxMenu*, int, int) () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#47 0x00007ffff7a1ab35 in wxWindowBase::PopupMenu(wxMenu*, int, int) () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#48 0x00007fffe1dc7167 in () at /usr/bin/_eeschema.kiface
#49 0x00007ffff74b24c1 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
() at /usr/lib/libwx_baseu-3.0.so.0
#50 0x00007ffff74b284b in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#51 0x00007ffff74b28e1 in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#52 0x00007ffff74b2994 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#53 0x00007ffff74b2a32 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#54 0x00007ffff74b27c7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#55 0x00007ffff7e5cb51 in () at /usr/lib/libwx_gtk3u_adv-3.0.so.0
#56 0x00007ffff6949f4f in () at /usr/lib/libgtk-3.so.0
#57 0x00007ffff6433052 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#58 0x00007ffff645b685 in () at /usr/lib/libgobject-2.0.so.0
#59 0x00007ffff644ea4b in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#60 0x00007ffff644f980 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#61 0x00007ffff66b2c26 in () at /usr/lib/libgtk-3.so.0
#62 0x00007ffff67f9095 in () at /usr/lib/libgtk-3.so.0
#63 0x00007ffff67fc62c in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#64 0x00007ffff650d234 in () at /usr/lib/libgdk-3.so.0
#65 0x00007ffff64b9c34 in () at /usr/lib/libgdk-3.so.0
#66 0x00007ffff61a743c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#67 0x00007ffff61f4fa9 in () at /usr/lib/libglib-2.0.so.0
#68 0x00007ffff61a5c03 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#69 0x00007ffff67f5c0f in gtk_main () at /usr/lib/libgtk-3.so.0
#70 0x00007ffff7833856 in wxGUIEventLoop::DoRun() () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#71 0x00007ffff7368e0e in wxEventLoopBase::Run() () at /usr/lib/libwx_baseu-3.0.so.0
#72 0x00007ffff732df27 in wxAppConsoleBase::MainLoop() () at /usr/lib/libwx_baseu-3.0.so.0
#73 0x00005555555fb60a in ()
#74 0x00007ffff73bc7f9 in wxEntry(int&, wchar_t**) () at /usr/lib/libwx_baseu-3.0.so.0
#75 0x00005555555de2e9 in ()
#76 0x00007ffff6d1a002 in __libc_start_main () at /usr/lib/libc.so.6
#77 0x00005555555e2e6e in _start ()
KiCad Version
Application: KiCad
Version: 5.1.6, release build
Libraries:
wxWidgets 3.0.5
libcurl/7.70.0 OpenSSL/1.1.1g zlib/1.2.11 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.9.0 nghttp2/1.40.0
Platform: Linux 5.5.19-1-MANJARO x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.72.0
OpenCASCADE Technology: 7.4.0
Curl: 7.70.0
Compiler: GCC 9.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=OFF
KICAD_USE_OCC=ON
KICAD_SPICE=ON