discuss-gnustep
[Top][All Lists]
Advanced

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

Re: FreeBSD / libobj2 issue after update - all apps crash


From: David Chisnall
Subject: Re: FreeBSD / libobj2 issue after update - all apps crash
Date: Wed, 5 Jun 2019 17:23:54 -0700
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

On 05/06/2019 15:30, Riccardo Mottola wrote:
Hi David!

David Chisnall wrote:

Can you do a backtrace of where the crash is?  What is the protocol that it's inspecting while crashing?

of course... here it is:

Thanks.


Program received signal SIGABRT, Aborted.
0x00000008028ca47a in thr_kill () from /lib/libc.so.7
(gdb) bt
#0  0x00000008028ca47a in thr_kill () from /lib/libc.so.7
#1  0x00000008028ca444 in raise () from /lib/libc.so.7
#2  0x00000008028ca3b9 in abort () from /lib/libc.so.7
#3  0x00000008029498e1 in __assert () from /lib/libc.so.7
#4  0x000000080218fe18 in protocol_getMethodDescription () from /usr/local/lib/libobjc.so.4.6 #5  0x000000080218fc9b in protocol_getMethodDescription () from /usr/local/lib/libobjc.so.4.6 #6  0x0000000801c9d532 in GSProtocolGetMethodDescriptionRecursive (aProtocol=0x8020a93d0, aSel=0x8020aa010,
     isRequired=1 '\001', isInstance=1 '\001') at GSObjCRuntime.m:827
#7  0x0000000801b80bd4 in -[NSDistantObject methodSignatureForSelector:] (self=0x80a98cf98,     _cmd=<value optimized out>, aSelector=0x8020aa010) at NSDistantObject.m:727 #8  0x0000000801c9b302 in GSFFIInvocationCallback (cif=0x80a9fff00, retp=0x7fffffffe420, args=0x7fffffffe2b0,
     user=0x80a86e4c8) at GSFFIInvocation.m:538
#9  0x00000008057c62ad in ffi_closure_unix64_inner () from /usr/local/lib/libffi.so.6 #10 0x00000008057c69d0 in ffi_closure_unix64 () from /usr/local/lib/libffi.so.6 #11 0x0000000801b82cb0 in -[NSDistributedNotificationCenter addObserver:selector:name:object:suspensionBehavior:] (     self=<value optimized out>, _cmd=<value optimized out>, anObserver=0x80a740548, aSelector=<value optimized out>,     notificationName=0x0, anObject=<value optimized out>, suspensionBehavior=2)
     at NSDistributedNotificationCenter.m:341
#12 0x0000000801b82999 in -[NSDistributedNotificationCenter addObserver:selector:name:object:] (self=0x80a841688,     _cmd=<value optimized out>, anObserver=<value optimized out>, aSelector=<value optimized out>,     notificationName=<value optimized out>, anObject=<value optimized out>) at NSDistributedNotificationCenter.m:266 #13 0x0000000801187ca9 in -[_GSWorkspaceCenter init] (self=0x80a740548, _cmd=<value optimized out>)
     at NSWorkspace.m:352
#14 0x0000000801189616 in -[NSWorkspace init] (self=0x80a7f8b98, _cmd=<value optimized out>) at NSWorkspace.m:755 #15 0x0000000801189433 in +[NSWorkspace sharedWorkspace] (self=<value optimized out>, _cmd=<value optimized out>)
     at NSWorkspace.m:703
#16 0x00000008010076e2 in -[NSApplication finishLaunching] (self=0x8088174c8, _cmd=<value optimized out>)
     at NSApplication.m:1104
#17 0x0000000801008e85 in -[NSApplication run] (self=0x8088174c8, _cmd=<value optimized out>) at NSApplication.m:1561 #18 0x0000000800fecd24 in NSApplicationMain (argc=<value optimized out>, argv=<value optimized out>) at Functions.m:91
#19 0x0000000000404985 in _start ()
#20 0x000000080062f000 in ?? ()
#21 0x0000000000000000 in ?? ()

it definitely has to do with distributed notifications, this is the protocol and its selector that are being looked up in frame #6

(gdb) po NSStringFromProtocol(aProtocol)
GDNCProtocol
(gdb) po NSStringFromSelector(aSel)
registerClient:

does this help you?

It looks as if this protocol comes from NSDistributedNotificationCenter and is created with an @protocol directive. With the gnustep-1.0 ABI, that is attached to the __ObjC_Protocol_Holder_Ugly_Hack class and upgraded by the runtime. It looks as if you've compiled with the gcc ABI, so none of that works.

You can't use the GCC ABI with the 2.x runtime, you have to use the gnustep ABI. That will work in pretty much any version of clang.

David



reply via email to

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