discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux


From: David Chisnall
Subject: Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux
Date: Mon, 25 Dec 2017 09:33:15 +0000

On 21 Dec 2017, at 07:11, David Chisnall <address@hidden> wrote:
> 
> On 20 Dec 2017, at 21:08, Lobron, David <address@hidden> wrote:
>> 
>> The [NSException raise] method just calls "@throw self" when 
>> _NATIVE_OBJC_EXCEPTIONS is defined
> 
> It does, but [NSException raise] is another function (well, method, but after 
> the call to objc_msgSend it’s a function).  The exception is thrown from 
> there, not from the stack frame containing the @catch block.

It turns out that this is the crucial bit: throwing an Objective-C exception 
through a C++ catch (or ObjC++ @catch) block was broken.  This is pretty 
uncommon, but we now have a test for it and it appears to be passing.

I’ve also tweaked the build system so that we now don’t build a separate 
libobjcxx, which should give a more consistent interface.

David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]