kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #28364
Re: [PATCH] Fix MacOS coroutine segfault
-
To:
Chris Pavlina <pavlina.chris@xxxxxxxxx>
-
From:
Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx>
-
Date:
Wed, 1 Mar 2017 16:21:56 +0100
-
Authentication-results:
spf=pass (sender IP is 188.184.36.48) smtp.mailfrom=cern.ch; lists.launchpad.net; dkim=none (message not signed) header.d=none;lists.launchpad.net; dmarc=bestguesspass action=none header.from=cern.ch;
-
Cc:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
In-reply-to:
<20170301151922.GB7938@turnip.local>
-
Spamdiagnosticmetadata:
NSPM
-
Spamdiagnosticoutput:
1:99
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1
On 01.03.2017 16:19, Chris Pavlina wrote:
> Wayne *please* tell me you won't block something that fixes macOS
> support and eliminates future boost API problems (which we've had
> SEVERAL problems with in the past) because of a lack of support for
> bloody *SPARC and PPC*. If there is a single user using KiCad on these
> platforms I would like to see them.
>
Hi Chris,
Boost does support aarch64, I just lack a compiler/machine to test that...
Cheers,
T.
> Now, the lack of support for aarch64 is a disappointment, but it looks
> like boost currently doesn't support that either.
>
> On Wed, Mar 01, 2017 at 04:06:51PM +0100, Tomasz Wlostowski wrote:
>> 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
>>>
>>
>>
>> _______________________________________________
>> 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
-
[PATCH] Fix MacOS coroutine segfault
From: Chris Pavlina, 2017-02-23
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Maciej Sumiński, 2017-02-23
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Chris Pavlina, 2017-02-23
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Simon Wells, 2017-02-23
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Wayne Stambaugh, 2017-02-23
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Maciej Sumiński, 2017-03-01
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Chris Pavlina, 2017-03-01
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Wayne Stambaugh, 2017-03-01
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Tomasz Wlostowski, 2017-03-01
-
Re: [PATCH] Fix MacOS coroutine segfault
From: Chris Pavlina, 2017-03-01