[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Linux/Clang/Libobjc2 failure part 2 (ng)
From: |
David Chisnall |
Subject: |
Re: Linux/Clang/Libobjc2 failure part 2 (ng) |
Date: |
Sun, 24 Jun 2018 10:17:50 +0100 |
Hi,
This might be the issue with the Linux run-time linker’s failure to merge the
ivar guess variables. Can you try with this patch?
http://lists.gnu.org/archive/html/discuss-gnustep/2017-12/msg00129.html
This isn’t needed with the v2 ABI, but I need help fixing the issues with
GNUstep’s NSString implementation before I can recommend enabling that for
GNUstep, because the new NSConstantString representation exposes a lot of bugs
in -base’s unicode string handling.
David
> On 24 Jun 2018, at 06:30, Riccardo Mottola <riccardo.mottola@libero.it> wrote:
>
> Hi all,
>
> on the same Linux system, if I switch to gcc with its own runtime, everything
> works.
> The libxcb/libX11 issue does not reproduce in that case, which hints to a
> more generic memory issue and not a X backend issue.
> Thus, essentially I cannot use libobjc2 in either configuration.
> I have also a FreeBSD system in similar situation, but there GCC doesn't have
> its runtime, so I cannot test that. However there the "gnu" mode doesn't
> work, but the nex-gen does.
> Very tricky?
>
> Riccardo
>
> On 22/06/2018 15:13, Riccardo Mottola wrote:
>> Hi all,
>>
>> on the same system Linux/Clang/libobjc2, I tried reconfiguring everything
>> and rebuilt everything using the Next Gen runtime.
>>
>> I configured make with:
>> $ ./configure --prefix=/ --with-layout=gnustep
>> --with-library-combo=ng-gnu-gnu
>> CC=clang CXX=clang++
>>
>>
>> and then reconfigured/rebuilt everything else.
>>
>> However GUI apps still crash badly.
>>
>> I get this:
>> Program received signal SIGSEGV, Segmentation fault.
>> 0xb74782df in GSPrivateFormat (s=<optimized out>, format=<optimized out>,
>> ap=0xbfffed00
>> "\200\211\205\267\214\211\205\267T\216\205\267\350\201\205\267\217\rL\267\200\066\017\bP=M\267\204\177\205\267\220\177\205\267T\216\205\267\260\200\205\267\244\200\205\267\224\271\061\b\256+d\267x\177\205\267P\200\205\267D\200\205\267\070\200\205\267,\200\205\267
>>
>> \200\205\267\024\200\205\267l\177\205\267\b\200\205\267\374\177\205\267\360\177\205\267\344\177\205\267\330\177\205\267\300\177\205\267\314\177\205\267\264\177\205\267\234\177\205\267L\201\205\267@\201\205\267\064\201\205\267(\201\205\267\034\201\205\267\020\201\205\267\004\201\205\267\370\200\205\267\354\200\205\267\200\200\205\267\340\200\205\267t\200\205\267\324\200\205\267\310\200\205\267\230\200\205\267\214\200\205\267\\\200\205\267\274\200\205\267<\216\205\267"...,
>> locale=<optimized out>) at GSFormat.m:910
>> 910 workend = &work_buffer[sizeof (work_buffer) / sizeof
>> (unichar)];
>> (gdb) bt
>> #0 0xb74782df in GSPrivateFormat (s=<optimized out>, format=<optimized out>,
>> ap=0xbfffed00
>> "\200\211\205\267\214\211\205\267T\216\205\267\350\201\205\267\217\rL\267\200\066\017\bP=M\267\204\177\205\267\220\177\205\267T\216\205\267\260\200\205\267\244\200\205\267\224\271\061\b\256+d\267x\177\205\267P\200\205\267D\200\205\267\070\200\205\267,\200\205\267
>>
>> \200\205\267\024\200\205\267l\177\205\267\b\200\205\267\374\177\205\267\360\177\205\267\344\177\205\267\330\177\205\267\300\177\205\267\314\177\205\267\264\177\205\267\234\177\205\267L\201\205\267@\201\205\267\064\201\205\267(\201\205\267\034\201\205\267\020\201\205\267\004\201\205\267\370\200\205\267\354\200\205\267\200\200\205\267\340\200\205\267t\200\205\267\324\200\205\267\310\200\205\267\230\200\205\267\214\200\205\267\\\200\205\267\274\200\205\267<\216\205\267"...,
>> locale=<optimized out>) at GSFormat.m:910
>> #1 0xb748e404 in -[GSPlaceholderString initWithFormat:locale:arguments:] (
>> self=<optimized out>, _cmd=0xb788f478 <.objc_selector_list+272>,
>> format=<optimized out>, locale=<optimized out>, argList=<optimized out>)
>> at GSString.m:1618
>> #2 0xb75abc32 in -[NSString initWithFormat:] (self=<optimized out>,
>> _cmd=<optimized out>, format=<optimized out>) at NSString.m:1343
>> #3 0xb74c160c in +[NSBundle initialize] (self=<optimized out>,
>> _cmd=<optimized out>) at NSBundle.m:1180
>> #4 0xb72e1179 in objc_send_initialize ()
>> from /System/Library/Libraries/libobjc.so.4.6
>> #5 0xb72ef4e8 in slowMsgLookup ()
>> from /System/Library/Libraries/libobjc.so.4.6
>>
>>
>> However, if I recompile base with "debug=yes" the issue looks totally
>> different!
>> This almost looks like a X11/back issue, or at least, the crash happens
>> inside there, but it could be an effect.
>>
>> Any ideas??
>>
>>
>> #0 0xb3fbb141 in xcb_writev () from /usr/lib/libxcb.so.1
>> #1 0xb41740f2 in _XSend () from /usr/lib/libX11.so.6
>> #2 0xb41746ad in _XReply () from /usr/lib/libX11.so.6
>> #3 0xb415a170 in XGetWindowProperty () from /usr/lib/libX11.so.6
>> #4 0xb4158f54 in XGetIconSizes () from /usr/lib/libX11.so.6
>> #5 0xb454ccb9 in -[XGServer(WindowOps) iconSize] (self=<optimized out>,
>> _cmd=0xb7f76e98 <.objc_selector_list+72>) at XGServerWindow.m:4565
>> #6 0xb7cea457 in GSGetIconSize () at GSIconManager.m:88
>> #7 0xb7b487c0 in +[NSAppIconView initialize] (self=<optimized out>,
>> _cmd=<optimized out>) at NSApplication.m:526
>> #8 0xb7243179 in objc_send_initialize ()
>> from /System/Library/Libraries/libobjc.so.4.6
>> #9 0xb72514e8 in slowMsgLookup ()
>> from /System/Library/Libraries/libobjc.so.4.6
>> #10 0xb7255251 in objc_msgSend () from
>> /System/Library/Libraries/libobjc.so.4.6
>> #11 0xb7b4fea9 in -[NSApplication(Private) _appIconInit] (
>> self=<optimized out>, _cmd=<optimized out>) at NSApplication.m:3863
>> #12 0xb7b49915 in -[NSApplication _init] (self=0x8377c94,
>> _cmd=0xb7eac120 <.objc_selector_list+1344>) at NSApplication.m:924
>> #13 0xb75563c2 in -[NSObject performSelector:withObject:] (self=0x8377c94,
>> _cmd=0xb788f848 <.objc_selector_list+424>,
>> aSelector=0xb7eac120 <.objc_selector_list+1344>, anObject=0x8377c94)
>> at NSObject.m:2009
>> #14 0xb75ec255 in -[NSObject(NSThreadPerformAdditions)
>> performSelector:onThread:withObject:waitUntilDone:modes:] (self=0x8377c94,
>> _cmd=0xb788f7a0 <.objc_selector_list+256>,
>> aSelector=0xb7eac120 <.objc_selector_list+1344>, aThread=0x82ffa84,
>> anObject=0x8377c94, aFlag=1 '\001', anArray=0x8379634) at NSThread.m:2136
>> #15 0xb75ebedf in -[NSObject(NSThreadPerformAdditions)
>> performSelectorOnMainThread:withObject:waitUntilDone:modes:] (self=0x8377c94,
>> _cmd=0xb788f7b8 <.objc_selector_list+280>,
>> aSelector=0xb7eac120 <.objc_selector_list+1344>, anObject=0x8377c94,
>> aFlag=1 '\001', anArray=0x8379634) at NSThread.m:2091
>> #16 0xb75ebf84 in -[NSObject(NSThreadPerformAdditions)
>> performSelectorOnMainThread:withObject:waitUntilDone:] (self=0x8377c94,
>> _cmd=0xb7eac5d8 <.objc_selector_list+2552>,
>> aSelector=0xb7eac120 <.objc_selector_list+1344>, anObject=0x8377c94,
>> aFlag=1 '\001') at NSThread.m:2102
>> #17 0xb7b49ccf in -[NSApplication init] (self=0x8377c94, _cmd=<optimized
>> out>)
>> at NSApplication.m:978
>> #18 0xb7b49641 in +[NSApplication sharedApplication] (self=<optimized out>,
>> _cmd=<optimized out>) at NSApplication.m:850
>> #19 0xb7b30266 in NSApplicationMain (argc=<optimized out>,
>> argv=<optimized out>) at Functions.m:78
>> #20 0x08050400 in main (argc=<optimized out>, argv=<optimized out>)
>> at main.m:30
>>
>>
>> _______________________________________________
>> Discuss-gnustep mailing list
>> Discuss-gnustep@gnu.org
>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>