← Back to team overview

kicad-developers team mailing list archive

Re: Schematic I/O plugin.

 

I just got a crash when trying to load the eeschema symbol picker
thing, this is using 092c61e02. This happens two out of two times.

#0  0x00007faf85e92c38 in main_arena () at /usr/lib/libc.so.6
#1  0x00007faf74dda458 in
SCH_LEGACY_PLUGIN_CACHE::~SCH_LEGACY_PLUGIN_CACHE() (this=0x4f600f0,
__in_chrg=<optimized out>)
    at /home/kicad/kicad-git/eeschema/sch_legacy_plugin.cpp:2033
#2  0x00007faf74dcf70f in SCH_LEGACY_PLUGIN::~SCH_LEGACY_PLUGIN()
(this=0x4f2f450, __in_chrg=<optimized out>)
    at /home/kicad/kicad-git/eeschema/sch_legacy_plugin.cpp:556
#3  0x00007faf74dcf764 in SCH_LEGACY_PLUGIN::~SCH_LEGACY_PLUGIN()
(this=0x4f2f450, __in_chrg=<optimized out>)
    at /home/kicad/kicad-git/eeschema/sch_legacy_plugin.cpp:557
#4  0x00007faf74c81a9a in
std::default_delete<SCH_PLUGIN>::operator()(SCH_PLUGIN*) const
(this=0x4f2f438, __ptr=0x4f2f450)
    at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#5  0x00007faf74c80a27 in std::unique_ptr<SCH_PLUGIN,
std::default_delete<SCH_PLUGIN> >::~unique_ptr() (this=0x4f2f438,
__in_chrg=<optimized out>)
    at /usr/include/c++/6.3.1/bits/unique_ptr.h:239
#6  0x00007faf74c7bf16 in PART_LIB::~PART_LIB() (this=0x4f2f320,
__in_chrg=<optimized out>) at
/home/kicad/kicad-git/eeschema/class_library.cpp:81
#7  0x00007faf74c81f8c in
std::default_delete<PART_LIB>::operator()(PART_LIB*) const
(this=0x7ffe759fcf10, __ptr=0x4f2f320)
    at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#8  0x00007faf74c8120f in std::unique_ptr<PART_LIB,
std::default_delete<PART_LIB> >::~unique_ptr() (this=0x7ffe759fcf10,
__in_chrg=<optimized out>)
    at /usr/include/c++/6.3.1/bits/unique_ptr.h:239
#9  0x00007faf74c7daf9 in PART_LIB::LoadLibrary(wxString const&)
(aFileName=...) at
/home/kicad/kicad-git/eeschema/class_library.cpp:300
#10 0x00007faf74c7dbb4 in PART_LIBS::AddLibrary(wxString const&)
(this=0x3ae95d0, aFileName=...) at
/home/kicad/kicad-git/eeschema/class_library.cpp:334
#11 0x00007faf74c7f4c9 in PART_LIBS::LoadAllLibraries(PROJECT*, bool)
(this=0x3ae95d0, aProject=0x6892b0 <Kiway+144>, aShowProgress=true)
    at /home/kicad/kicad-git/eeschema/class_library.cpp:623
#12 0x00007faf74e15323 in PROJECT::SchLibs() (this=0x6892b0
<Kiway+144>) at /home/kicad/kicad-git/eeschema/schframe.cpp:165
#13 0x00007faf74d3ab06 in
SCH_BASE_FRAME::SelectComponentFromLibrary(SCHLIB_FILTER const*,
wxArrayString&, int&, bool, int*, int*, wxString const&) (this=
    0x38c9a00, aFilter=0x0, aHistoryList=...,
aHistoryLastUnit=@0x7faf75408ca0: 0, aUseLibBrowser=true,
aUnit=0x7ffe759feaac, aConvert=0x7ffe759feaa8, aHighlight=...) at
/home/kicad/kicad-git/eeschema/getpart.cpp:108
#14 0x00007faf74d3b212 in SCH_EDIT_FRAME::Load_Component(wxDC*,
SCHLIB_FILTER const*, wxArrayString&, int&, bool) (this=
    0x38c9a00, aDC=0x7ffe759fef70, aFilter=0x0, aHistoryList=...,
aHistoryLastUnit=@0x7faf75408ca0: 0, aUseLibBrowser=true)
    at /home/kicad/kicad-git/eeschema/getpart.cpp:196
#15 0x00007faf74d927ef in SCH_EDIT_FRAME::OnLeftClick(wxDC*, wxPoint
const&) (this=0x38c9a00, aDC=0x7ffe759fef70, aPosition=...)
    at /home/kicad/kicad-git/eeschema/onleftclick.cpp:308
#16 0x00007faf74f16378 in EDA_DRAW_PANEL::OnMouseEvent(wxMouseEvent&)
(this=0x38dd0d0, event=...) at
/home/kicad/kicad-git/common/draw_panel.cpp:1153
#17 0x00007faf887ec74e in
wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
wxEvent&) const () at /usr/lib/libwx_baseu-3.0.so.0
#18 0x00007faf8896fc35 in
wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#19 0x00007faf8896fd2b in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) () at /usr/lib/libwx_baseu-3.0.so.0
#20 0x00007faf889700db in wxEvtHandler::TryHereOnly(wxEvent&) () at
/usr/lib/libwx_baseu-3.0.so.0
#21 0x00007faf88970163 in wxEvtHandler::ProcessEventLocally(wxEvent&)
() at /usr/lib/libwx_baseu-3.0.so.0
#22 0x00007faf889701c5 in wxEvtHandler::ProcessEvent(wxEvent&) () at
/usr/lib/libwx_baseu-3.0.so.0
#23 0x00007faf89356a6b in
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () at
/usr/lib/libwx_gtk2u_core-3.0.so.0
#24 0x00007faf8896ff37 in wxEvtHandler::SafelyProcessEvent(wxEvent&)
() at /usr/lib/libwx_baseu-3.0.so.0
<snip>


2017-02-11 1:03 GMT+01:00 Wayne Stambaugh <stambaughw@xxxxxxxxx>:
> I just checked and it's the revision parsing code.  I will either have
> to create a SYMBOL_LIB_ID from LIB_ID and overload
> LIB_ID::SetLibItemName() or just remove the version parsing from LIB_ID.
>  I wont have time to look at this until tomorrow afternoon so if you
> need to get some work done, please revert to an earlier build.  Thanks
> for the info.
>
> On 2/10/2017 6:52 PM, José Ignacio wrote:
>> In any case this will break backwards compatibility in a way it did not
>> happen in PCBnew, EEschema always looks for symbols in libraries
>> (including the cache) when loading a file (there are no embedded symbols
>> to fall back to), so suddenly making certain names not resolve will
>> cause schematics to break upon opening. To avoid breaking previous
>> designs either a special case needs to be done for the cache (my least
>> favourite option), or like Chris says, let each plugin define what's
>> legal or not.
>>
>> On Fri, Feb 10, 2017 at 5:37 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx
>> <mailto:stambaughw@xxxxxxxxx>> wrote:
>>
>>     This is a direct result of LIB_ID which has to be used for symbol
>>     library mapping.  I could silently force slashes to underscores or some
>>     other valid file name character.  I'm sure that is not going to make
>>     folks happy but it will have to happen when we convert the legacy symbol
>>     libraries to the new format.  We went through the same issue when we
>>     converted the footprint libraries as well.  I'll see if I can come up
>>     with a work around for the legacy parser but this is only temporary.
>>
>>     Was it our microchip libs that are the problem or someone's custom lib?
>>     If it's a custom lib, please attach the lib causing the issues so I can
>>     debug it.
>>
>>     On 2/10/2017 5:42 PM, Nick Østergaard wrote:
>>     > I did notice that the new io manager thing broke some libs things
>>     > related to the microchip libs, but it also found an error in the
>>     > official libs that I patched. But then I forgot to report the other
>>     > issues.
>>     >
>>     > But yeah, it seems strange that slash'es are not allowed in footprint
>>     > property names.
>>     >
>>     > 2017-02-10 22:59 GMT+01:00 Chris Pavlina <pavlina.chris@xxxxxxxxx
>>     <mailto:pavlina.chris@xxxxxxxxx>>:
>>     >> To elaborate - I get that / is forbidden because part names will
>>     be file
>>     >> names in the new format, but this is going to break libraries. Manufs
>>     >> have used all kinds of horrid symbols in part numbers. Perhaps we
>>     should
>>     >> make the plugin system allow each plugin to specify its own valid
>>     >> characters? The legacy format has always allowed / so the legacy
>>     plugin
>>     >> should.
>>     >>
>>     >> On Fri, Feb 10, 2017 at 03:57:11PM -0600, José Ignacio wrote:
>>     >>> This broke all my designs with microchip parts (which have
>>     forward slashes
>>     >>> in the symbol names). Sadpanda.jpg
>>     >>>
>>     >>> On Fri, Feb 10, 2017 at 8:55 AM, Wayne Stambaugh
>>     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
>>     >>> wrote:
>>     >>>
>>     >>>> I just pushed my changes to make the schematic I/O plugin the
>>     default
>>     >>>> for all schematic and symbol library I/O.  This is a pretty
>>     significant
>>     >>>> change.  I tested everything I could think of but there may be some
>>     >>>> corner cases that I missed.  I also used LIB_ID instead of
>>     wxString to
>>     >>>> store symbol library lookup information.  For now, it behaves
>>     the same
>>     >>>> way it always has.  Please let me know if you find any issues
>>     and I will
>>     >>>> try to fix them as quickly as possible.
>>     KICAD_USE_SCH_IO_MANAGER is no
>>     >>>> longer a build option.
>>     >>>>
>>     >>>> I'm going to try to get the symbol library table implemented in
>>     the next
>>     >>>> week or so.  This will likely be the last of the schematic I/O
>>     changes
>>     >>>> before the next stable release.  I am going to push the new
>>     file formats
>>     >>>> to the stable 6 release due to the increasing amount of time I am
>>     >>>> spending doing project management stuff and the equally decreasing
>>     >>>> amount of time I have to code.  Given that none of the new features
>>     >>>> provided by the new file formats would have been implemented
>>     for the
>>     >>>> stable 5 release, I don't think this is a major setback.  This
>>     will give
>>     >>>> us some more time to further discuss the new file formats before I
>>     >>>> implement them.  The new file formats will be my first task
>>     after the
>>     >>>> stable 5 release.
>>     >>>>
>>     >>>> Cheers,
>>     >>>>
>>     >>>> Wayne
>>     >>>>
>>     >>>> _______________________________________________
>>     >>>> Mailing list: https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     >>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     >>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     >>>> More help   : https://help.launchpad.net/ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>     >>>>
>>     >>
>>     >>
>>     >> _______________________________________________
>>     >> Mailing list: https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     >> Unsubscribe : https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     >> More help   : https://help.launchpad.net/ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>     >
>>     > _______________________________________________
>>     > Mailing list: https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     > Unsubscribe : https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     > More help   : https://help.launchpad.net/ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>     >
>>
>>
>>     _______________________________________________
>>     Mailing list: https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     Unsubscribe : https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     More help   : https://help.launchpad.net/ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>
>>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References