kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #28362
Re: [PATCH] Fix MacOS coroutine segfault
On 01.03.2017 15:58, Wayne Stambaugh wrote:
> I am in favor of this if and only if we have equivalent or better
> architecture coverage compared to the boost context library. If not,
> than I am opposed to it.
>
Hi Wayne,
Libcontext currently supports x86/x86_64/ARM32 on all OSes. I could not
test the sparc/PPC ports for obvious reasons. I could add linux
sparc/PPC support but without testing, since I don't have a suitable
machine.
For the moment, libcontext works on every OS/CPU we officially support.
Cheers,
Tom
> On 3/1/2017 9:32 AM, Chris Pavlina wrote:
>> 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 probably could have been hidden using cmake. It typically takes
> more effort to do it this way but it results in cleaner source code.
>
>>>
>>> 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
>>>>
>>>
>>>
>>
>>
>>
>>
>> _______________________________________________
>> 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