[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: assertion when using clang + libobjc2
From: |
Riccardo Mottola |
Subject: |
Re: assertion when using clang + libobjc2 |
Date: |
Thu, 7 Jun 2018 00:39:07 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.3 |
Hi David,
David Chisnall wrote:
Thank you for the report. Most of the tests don’t build with the GCC ABI, so
that code path is not as well tested as the two newer ABIs - thank you for
testing it, and please do file bugs if you hit any more issues. I believe this
is now fixed in git.
I did further thests here and a clean build and recompile of everything.
I did compile a debug version of gnustep-base (although maybe a one for
libobjc is needed to, how is it done with cmake?)
As I wrote, simple tools like plparse do now work, but any gui
application will file.
Here a clean version of Ink:
2018-06-07 00:11:27.699 Ink[6673:6673] styleoffsets ... guessing offsets
2018-06-07 00:11:27.701 Ink[6673:6673] styleoffsets ... guessing offsets
Program received signal SIGSEGV, Segmentation fault.
__strcmp_ia32 () at ../sysdeps/i386/i686/multiarch/../strcmp.S:33
33 ../sysdeps/i386/i686/multiarch/../strcmp.S: No such file or
directory.
#0 __strcmp_ia32 () at ../sysdeps/i386/i686/multiarch/../strcmp.S:33
#1 0xb71058c0 in string_compare ()
from /System/Library/Libraries/libobjc.so.4.6
#2 0xb71057bc in sel_isEqual () from
/System/Library/Libraries/libobjc.so.4.6
#3 0xb710008d in get_method_description ()
from /System/Library/Libraries/libobjc.so.4.6
#4 0xb70fff8f in protocol_getMethodDescription ()
from /System/Library/Libraries/libobjc.so.4.6
#5 0xb75b3443 in GSProtocolGetMethodDescriptionRecursive (
aProtocol=0xb77bfa50 <.objc_protocol.103>,
aSel=0xb77c0080 <.objc_selector_list+192>, isRequired=1 '\001',
isInstance=1 '\001') at GSObjCRuntime.m:827
#6 0xb738bf5c in -[NSDistantObject methodSignatureForSelector:] (
self=0x86bf9cc, _cmd=0xb78030f4 <.objc_selector_list+200>,
aSelector=0xb77c0080 <.objc_selector_list+192>) at
NSDistantObject.m:727
#7 0xb75af5d4 in GSFFIInvocationCallback (cif=0x86c5f40, retp=0xbfffe8a0,
args=0xbfffe830, user=0x86bdc44) at GSFFIInvocation.m:538
#8 0xb4abba75 in ?? () from /usr/lib/libffi.so.6
#9 0xb4abbe26 in ?? () from /usr/lib/libffi.so.6
#10 0xb7392bdb in -[NSDistributedNotificationCenter(Private) _connect] (
self=0x868cbe4, _cmd=0xb77c0048 <.objc_selector_list+136>)
at NSDistributedNotificationCenter.m:781
#11 0xb73904e9 in -[NSDistributedNotificationCenter
addObserver:selector:name:object:suspensionBehavior:] (self=0x868cbe4,
_cmd=0xb77c0038 <.objc_selector_list+120>, anObserver=0x868c8f4,
aSelector=0xb7f5b798 <.objc_selector_list+352>, notificationName=0x0,
anObject=0xb7f5b350 <.objc_str.437>, suspensionBehavior=2)
at NSDistributedNotificationCenter.m:341
#12 0xb7390069 in -[NSDistributedNotificationCenter
addObserver:selector:name:object:] (self=0x868cbe4, _cmd=0xb7f5b850
<.objc_selector_list+536>,
anObserver=0x868c8f4, aSelector=0xb7f5b798 <.objc_selector_list+352>,
notificationName=0x0, anObject=0xb7f5b350 <.objc_str.437>)
at NSDistributedNotificationCenter.m:266
#13 0xb7c49253 in -[_GSWorkspaceCenter init] (self=0x868c8f4,
_cmd=<optimized out>) at NSWorkspace.m:335
I get no information inside libobjc, however:
(gdb) list
822 struct objc_method_description
823 GSProtocolGetMethodDescriptionRecursive(Protocol *aProtocol, SEL
aSel, BOOL isRequired, BOOL isInstance)
824 {
825 struct objc_method_description desc;
826
827 desc = protocol_getMethodDescription(aProtocol, aSel,
isRequired, isInstance);
828 if (desc.name == NULL && desc.types == NULL)
829 {
830 Protocol **list;
831 unsigned int count;
(gdb) po NSStringFromSelector(aSel)
registerClient:
at first, it does not seem wrong, something is doing hfavoc inside
method description or sel_isEqual
maybe with debug information for libobjc2 I can give you better information
Riccardo
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: assertion when using clang + libobjc2,
Riccardo Mottola <=