← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Fix MacOS coroutine segfault

 

I am in favor of this.

On Wed, Mar 01, 2017 at 02:03:37PM +0100, Maciej Sumiński wrote:
> I will do my best, but I really cannot promise any time slot for looking
> into the issue. Perhaps it is the time to revisit Tom's libcontext [1]?
> The number of #ifdefs in tge current coroutine code makes eyes pop out,
> and I am afraid with the new issue we would be forced to add "#ifdef
> __APPLE__" to this horrible mess.
> 
> This way we should be immune to future boost::context changes. The
> drawback is, we are on our own if there is a new architecture to
> support. On the other hand, how often a new architecture becomes popular
> enough to care about it?
> 
> To sum up: I would switch to libcontext and stop worrying.
> 
> Regards,
> Orson
> 
> 1. https://github.com/twlostow/libcontext
> 
> On 02/23/2017 02:07 PM, Wayne Stambaugh wrote:
> > This is a known issue.  I believe the last valid version of boost that
> > doesn't cause a crash is 1.61.  Anything after that causes this issue on
> > all platforms not just osx.  @Orson or @Tom, any chance you could take a
> > look at this to see what boost changed in the context library?
> > 
> > Cheers,
> > 
> > Wayne
> > 
> > On 2/23/2017 6:49 AM, Simon Wells wrote:
> >> just fyi
> >>
> >> https://bugs.launchpad.net/kicad/+bug/1658249
> >>
> >> On 24 February 2017 at 00:38, Chris Pavlina <pavlina.chris@xxxxxxxxx> wrote:
> >>> Backtrace attached. Boost is 1.63.0.
> >>>
> >>> On Thu, Feb 23, 2017 at 11:36:02AM +0100, Maciej Sumiński wrote:
> >>>> Hi Chris,
> >>>>
> >>>> Would you give more details about the problem? Boost version, backtrace?
> >>>>
> >>>> Regards,
> >>>> Orson
> >>>>
> >>>> On 02/23/2017 02:23 AM, Chris Pavlina wrote:
> >>>>> Hi,
> >>>>>
> >>>>> pcbnew is segfaulting on launch on my MacOS Sierra build, due to a null
> >>>>> dereference in the coroutine code:
> >>>>>
> >>>>> coroutine.h
> >>>>> 408    static CONTEXT_T callerStub( CONTEXT_T caller, INVOCATION_ARGS* aArgsPtr )
> >>>>> 409    {
> >>>>> 410        const auto& args = *aArgsPtr;
> >>>>> 411        auto* cor = args.destination;
> >>>>>
> >>>>> aArgsPtr is null and I don't understand WHY. However, I was able to make
> >>>>> things appear to work by short-circuiting this function if the argument
> >>>>> is null.
> >>>>>
> >>>>> Patch attached. It Works For Me™, but I'd like someone who knows the
> >>>>> coroutine code to look and make sure I haven't made a mess of things.
> >>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> >>>
> >>
> >> _______________________________________________
> >> 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