← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] CPolyLine -> SHAPE_POLY_SET refactor

 

Hi!

The errors were caused by some asserts that contained functions that needed
to be called... My bad. Now the asserts are gone and the errors are handled
via out_of_range exceptions (they were related with possible illegal memory
access),

JP, I finally saw the zone filling error in the release build!

Nick and JP, if you can pull and test the branch again and see if the
errors you saw are fixed, that would be great. Thank you.

Best,
Alejandro

2017-02-17 12:41 GMT+01:00 Alejandro Garcia Montoro <
alejandro.garciamontoro@xxxxxxxxx>:

> Whoops, you were right, the bug does show up in release builds.
>
> I'll investigate it and fix it asap, thank you!
>
> 2017-02-17 10:24 GMT+01:00 Nick Østergaard <oe.nick@xxxxxxxxx>:
>
>> This was in a release build on archlinux. I will try to pull your latest
>> changes an try iy in a debug build if it still fails.
>>
>>
>> Den 17/02/2017 10.22 skrev "Alejandro Garcia Montoro" <
>> alejandro.garciamontoro@xxxxxxxxx>:
>>
>> Hi, Nick, thanks for the feedback!
>>
>> I've tested the opening of a bunch of different boards and I see no
>> segfault. Is this in a Debug or Release build? GAL or Legacy? I was testing
>> a Debug and now compiling a Release, I'll let you know when my slow machine
>> finishes.
>>
>> Btw, I catched another unrelated bug in RemoveNullSegments, that is now
>> fixed, so please pull the branch again if you continue testing.
>>
>> Best,
>> Alejandro
>>
>> 2017-02-16 22:13 GMT+01:00 Nick Østergaard <oe.nick@xxxxxxxxx>:
>>
>>> I tried to pull your branch and it segfaults when opening a board in
>>> pcbnew.
>>>
>>> (gdb) bt
>>> #0  0x00007fee50d90338 in SHAPE_POLY_SET::Vertex(int) () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #1  0x00007fee50b33512 in ZONE_CONTAINER::Hatch() [clone .part.237] ()
>>> at /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #2  0x00007fee50bd0e63 in PCB_PARSER::parseZONE_CONTAINER() () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #3  0x00007fee50bd1dd9 in PCB_PARSER::parseBOARD_unchecked() () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #4  0x00007fee50bd22f2 in PCB_PARSER::parseBOARD() () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #5  0x00007fee50bd26d2 in PCB_PARSER::Parse() () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #6  0x00007fee50b94a97 in PCB_IO::Load(wxString const&, BOARD*,
>>> PROPERTIES const*) () at /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #7  0x00007fee508e3658 in
>>> PCB_EDIT_FRAME::OpenProjectFiles(std::vector<wxString,
>>> std::allocator<wxString> > const&, int) ()
>>>     at /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #8  0x00007fee508e50ac in
>>> PCB_EDIT_FRAME::OnFileHistory(wxCommandEvent&) () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #9  0x00007fee64abd74e in
>>> wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
>>> wxEvent&) const () at /usr/lib/libwx_baseu-3.0.so.0
>>> #10 0x00007fee64c40c35 in
>>> wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
>>> wxEvtHandler*, wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
>>> #11 0x00007fee64c40d2b in wxEventHashTable::HandleEvent(wxEvent&,
>>> wxEvtHandler*) () at /usr/lib/libwx_baseu-3.0.so.0
>>> #12 0x00007fee64c410db in wxEvtHandler::TryHereOnly(wxEvent&) () at
>>> /usr/lib/libwx_baseu-3.0.so.0
>>> #13 0x00007fee50cd2a79 in EDA_BASE_FRAME::ProcessEvent(wxEvent&) () at
>>> /tmp/kicad/usr/local/bin/_pcbnew.kiface
>>> #14 0x00007fee64c40ee3 in wxEvtHandler::DoTryChain(wxEvent&) () at
>>> /usr/lib/libwx_baseu-3.0.so.0
>>> #15 0x00007fee64c411c5 in wxEvtHandler::ProcessEvent(wxEvent&) () at
>>> /usr/lib/libwx_baseu-3.0.so.0
>>> #16 0x00007fee655b9fe8 in wxWindowBase::TryAfter(wxEvent&) () at
>>> /usr/lib/libwx_gtk2u_core-3.0.so.0
>>> #17 0x00007fee64c40f37 in wxEvtHandler::SafelyProcessEvent(wxEvent&)
>>> () at /usr/lib/libwx_baseu-3.0.so.0
>>> #18 0x00007fee6555e82f in wxMenuBase::SendEvent(int, int) () at
>>> /usr/lib/libwx_gtk2u_core-3.0.so.0
>>>
>>> 2017-02-16 18:50 GMT+01:00 Alejandro Garcia Montoro
>>> <alejandro.garciamontoro@xxxxxxxxx>:
>>> > Hi!
>>> >
>>> > These last days I have detected a bunch of more bugs in my code
>>> regarding
>>> > zone editing, cutout zones, combination of self-intersecting polygons
>>> and
>>> > some drawing issues. All of them are now fixed, and some more tests are
>>> > added, both in my branch [1] and in the attached patches. Still, more
>>> > testing is needed, I don't want to break anything.
>>> >
>>> > JP, I don't see the zoom and refill bugs you catched, can you provide
>>> me
>>> > with a test board in which these bugs occur, or describe a little bit
>>> more a
>>> > way to reproduce them? Thanks!
>>> >
>>> > Btw, I don't know if I'm managing my branch in the correct way. I'm
>>> merging
>>> > the latest master revisions, maybe is it better to keep the branch
>>> clean
>>> > using rebase? I'm following the last comments in section Managing your
>>> own
>>> > branch [2].
>>> >
>>> > Best,
>>> > Alejandro
>>> >
>>> > [1] https://git.launchpad.net/~agarciamontoro/kicad/?h=polygon-r
>>> efactor
>>> > [2] http://kicad-pcb.org/contribute/developers/#_managing_your_o
>>> wn_branch
>>> >
>>> > 2017-02-01 15:45 GMT+01:00 Maciej Sumiński <maciej.suminski@xxxxxxx>:
>>> >>
>>> >> On 02/01/2017 02:36 PM, jp charras wrote:
>>> >> [snip]
>>> >> > * In GAL canvas, depending on the zoom level and the size of the
>>> filled
>>> >> > zones areas, filled zones
>>> >> > areas are displayed or not.
>>> >> > Same for zone outlines.
>>> >>
>>> >> Without looking at the code, my first shot is incorrect bounding box
>>> >> calculation (ViewBBox() method).
>>> >>
>>> >> Regards,
>>> >> Orson
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> 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
>>> >>
>>> >
>>> >
>>> > _______________________________________________
>>> > 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