← Back to team overview

kicad-developers team mailing list archive

Assertion failure in the Symbol Library Editor

 

I wanted to create a symbol for the Diodes Inc DMN3300U transistor in my private library name "MyParts". Here's what I did:

1. I attempted to follow the instructions in the eeschema documentation
   section 11.4.1 to transfer the 2N7002 part from the Transistor_FET
   library to MyParts, renaming it in the process, but the procedure
   doesn't work.
2. I decided to load the 2N7002 part from the Transistor_FET library,
   export the part as a file in /tmp, then import it into MyParts, but
   it also copied the 2N7002 and BSS138 parts.
3. I deleted the imported components.
4. I attempted to revert the change entirely. I got a warning that
   reverting was not undo-able, and I said OK. (Everything I care about
   is backed up in a GIT repo on a server.)
5. Kaboom! Okay, no kaboom. An "assertion failed" dialog box.

Don't freak out trying to find the referenced commit in git. I made a minor mod to pcbnew on a private branch, so there's a new commit id. Here's the last common commit:

   d1af521 Libedit: Fix a few places where item could be NULL


Application: kicad
Version: (5.0.0-rc2-dev-377-gc5012f9), release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.13.0-38-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_SPICE=ON

ASSERT INFO:

/home/reece/MyProjects/KiCad/src/eeschema/lib_edit_frame.cpp(1026): assert "m_my_part != aPart" failed in SetCurPart().

BACKTRACE:
[1] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [2] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[3] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[4] wxEvtHandler::TryHereOnly(wxEvent&)
[5] wxEvtHandler::DoTryChain(wxEvent&)
[6] wxEvtHandler::ProcessEvent(wxEvent&)
[7] wxWindowBase::TryAfter(wxEvent&)
[8] wxWindowBase::TryAfter(wxEvent&)
[9] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[10] wxMenuBase::SendEvent(int, int)
[11] g_closure_invoke
[12] g_signal_emit_valist
[13] g_signal_emit
[14] gtk_widget_activate
[15] gtk_menu_shell_activate_item
[16] g_closure_invoke
[17] g_signal_emit_valist
[18] g_signal_emit
[19] gtk_propagate_event
[20] gtk_main_do_event
[21] g_main_context_dispatch
[22] g_main_context_iteration
[23] gtk_main_iteration
[24] wxWindow::DoPopupMenu(wxMenu*, int, int)
[25] wxWindowBase::PopupMenu(wxMenu*, int, int)
[26] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [27] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[28] wxEvtHandler::SearchDynamicEventTable(wxEvent&)
[29] wxEvtHandler::TryHereOnly(wxEvent&)
[30] wxEvtHandler::ProcessEventLocally(wxEvent&)
[31] wxEvtHandler::ProcessEvent(wxEvent&)
[32] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[33] g_closure_invoke
[34] g_signal_emit_valist
[35] g_signal_emit
[36] gtk_propagate_event
[37] gtk_main_do_event
[38] g_main_context_dispatch
[39] g_main_loop_run
[40] gtk_main
[41] wxGUIEventLoop::DoRun()
[42] wxEventLoopBase::Run()
[43] wxAppConsoleBase::MainLoop()
[44] APP_KICAD::OnRun()
[45] wxEntry(int&, wchar_t**)
[46] main
[47] __libc_start_main
[48] _start




Follow ups