[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux
From: |
Lobron, David |
Subject: |
Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux |
Date: |
Thu, 7 Dec 2017 20:38:48 +0000 |
>> I did this, and I've pasted the output below. At first glance, the
>> exceptions all seem to be the same (or at least, all have the same address
>> of 0x17158c80). I'm not entirely sure how to interpret the rest of the
>> action there. One thing that leaps out is that there seem to be
>> personalities involved: GNUCOBJC and GNUCC++. The code that throws this
>> exception is a .mm file, i.e., Objective-C++, with a mix of ObjC and C++.
>
> Aha! That might be it, and might be enough to come up with a reduced test
> case. When you throw the exception, it’s an ObjC exception. When you throw
> it through an ObjC++ stack frame, it’s transformed into a C++ exception and
> passed to the C++ personality function, but only when the cleanup is run for
> that frame. I suspect that the ObjC personality function is not correctly
> handling the transformation back to an ObjC exception for the catch.
Thanks, David! I will try to make a reduced test case, based on this. I'll
start with a simple program that throws an ObjC exception in an NS_HANDLER,
where the whole thing resides in a .mm file. BTW, I've enabled native
exceptions here. I will let you guys know when I've got something.
Thank you again for your help,
David
- Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/05
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/06
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/06
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/06
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/06
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/07
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/07
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/07
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux,
Lobron, David <=
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/07
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/11
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/11
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/11
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/11
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/11
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/12
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/12
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, David Chisnall, 2017/12/12
- Re: Mysterious crash in NSRunLoop, using libobjc2 on Linux, Lobron, David, 2017/12/18