discuss-gnustep
[Top][All Lists]
Advanced

[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
> 




reply via email to

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