Comment 3 for bug 1835841

Revision history for this message
Frank Severinsen (shack) wrote :

steps seems right, but in step 1 I believe the appended root must contain subsheets.
I found the crash when playing around with this: https://bugs.launchpad.net/kicad/+bug/1834317

new backtrace after installing kicad-dbg:
#0 0x00007ffff7133de0 in __dynamic_cast ()
    at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1 0x00007fffc78444d9 in SCH_SHEET::GetRootSheet()
    (this=this@entry=0x555558895630) at ./kicad/eeschema/sch_sheet.cpp:137
#2 0x00007fffc7834a7b in SCH_LEGACY_PLUGIN::Load(wxString const&, KIWAY*, SCH_SHEET*, PROPERTIES const*) (this=
    0x555555a54cc0, aFileName=..., aKiway=0x555555735340 <Kiway>, aAppendToMe=0x555558895630, aProperties=0x0) at ./kicad/eeschema/sch_legacy_plugin.cpp:638
#3 0x00007fffc7870136 in SCH_EDIT_FRAME::EditSheet(SCH_SHEET*, SCH_SHEET_PATH*, bool*) (this=this@entry=
    0x555556e9afb0, aSheet=aSheet@entry=0x555558895630, aHierarchy=0x5555581d45a0, aClearAnnotationNewItems=aClearAnnotationNewItems@entry=0x7fffffffbc0f)
    at ./kicad/include/kiway_player.h:64
#4 0x00007fffc785be16 in SCH_EDIT_FRAME::OnEditItem(wxCommandEvent&)
    (this=0x555556e9afb0, aEvent=...) at ./kicad/eeschema/schedit.cpp:1062
#5 0x00007ffff74e5a8e in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#6 0x00007ffff74e5b93 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7 0x00007ffff74e5ecc in wxEvtHandler::TryHereOnly(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8 0x00007fffc799d9fc in EDA_BASE_FRAME::ProcessEvent(wxEvent&)
--Type <RET> for more, q to quit, c to continue without paging--
    (this=0x555556e9afb0, aEvent=...) at ./kicad/common/eda_base_frame.cpp:173
#9 0x00007ffff74e5d53 in wxEvtHandler::DoTryChain(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#10 0x00007ffff74e5ff1 in wxEvtHandler::ProcessEvent(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#11 0x00007fffc77a0241 in SCH_EDIT_FRAME::OnHotKey(wxDC*, int, wxPoint const&, EDA_ITEM*)
    (this=0x555556e9afb0, aDC=0x0, aHotKey=<optimised out>, aPosition=..., aItem=0x0) at /usr/include/wx-3.0/wx/window.h:846
#12 0x00007fffc7765877 in SCH_EDIT_FRAME::GeneralControl(wxDC*, wxPoint const&, unsigned int) (this=0x555556e9afb0, aDC=0x0, aPosition=..., aHotKey=101)
    at ./kicad/include/base_screen.h:233
#13 0x00007fffc77e5c6d in SCH_DRAW_PANEL::OnKeyEvent(wxKeyEvent&)
    (this=0x555556eca670, event=...)
    at /usr/include/c++/8/ext/new_allocator.h:86
#14 0x00007ffff74e5a8e in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#15 0x00007ffff74e5e0a in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#16 0x00007ffff74e5ea0 in wxEvtHandler::TryHereOnly(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#17 0x00007ffff74e5f53 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#18 0x00007ffff74e5ff1 in wxEvtHandler::ProcessEvent(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#19 0x00007ffff7a83f6d in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#20 0x00007ffff74e5d97 in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#21 0x00007ffff788f386 in wxWindow::GTKDoInsertTextFromIM(char const*) ()
    at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#22 0x00007ffff64e5b97 in g_cclosure_marshal_VOID__STRINGv ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff64e30c6 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff64ff57d in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff6500046 in g_signal_emit_by_name ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff64e5b97 in g_cclosure_marshal_VOID__STRINGv ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff64e30c6 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff64ff57d in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff64ffb6f in g_signal_emit ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--c
#30 0x00007ffff04fdb33 in () at /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so
#31 0x00007ffff6843833 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff7892aac in () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#33 0x00007ffff69f344b in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#34 0x00007ffff64e2e8d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007ffff64f6555 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff64feb9b in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff64ffb6f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff69a01f4 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#39 0x00007ffff69c149b in gtk_window_propagate_key_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#40 0x00007ffff787fc18 in () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#41 0x00007ffff69f344b in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007ffff64e2e8d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#43 0x00007ffff64f6555 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007ffff64feb9b in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#45 0x00007ffff64ffb6f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#46 0x00007ffff69a01f4 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#47 0x00007ffff6860d9f in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#48 0x00007ffff6862dfb in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#49 0x00007ffff65645e5 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#50 0x00007ffff6595292 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#51 0x00007ffff62699ee in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007ffff6269c88 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007ffff6269f82 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007ffff6861e75 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#55 0x00007ffff786dc95 in wxGUIEventLoop::DoRun() () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#56 0x00007ffff73bb76d in wxEventLoopBase::Run() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#57 0x00007ffff73848f6 in wxAppConsoleBase::MainLoop() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#58 0x00005555555f09d9 in APP_KICAD::OnRun() (this=<optimised out>) at ./kicad/kicad/kicad.cpp:267
#59 0x00007ffff7405fd9 in wxEntry(int&, wchar_t**) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#60 0x00005555555d6788 in main(int, char**) (argc=<optimised out>, argv=<optimised out>) at ./kicad/kicad/kicad.cpp:298