kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35343
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