gnustep-dev
[Top][All Lists]
Advanced

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

Base NSScanner/GSFormat issues - segmentation fault


From: Riccardo Mottola
Subject: Base NSScanner/GSFormat issues - segmentation fault
Date: Mon, 16 Dec 2019 11:44:16 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.5

Hi,

on a very plain Linux i386 32bit setup, configured  with clang, libobjc2 and ng-gnu-gnu runtime I always had issues with almost everything crashing, this is months old (years?).

What happens is this:
Program received signal SIGSEGV, Segmentation fault.
0xb757a078 in myGetC (c=<optimized out>) at NSScanner.m:91
91        (void)GSToUnicode(&dst, &size, &c, 1, internalEncoding, 0, 0);


Here a Trace.
#0  0xb757a078 in myGetC (c=<optimized out>) at NSScanner.m:91
#1  -[NSScanner scanDouble:] (self=<optimized out>, _cmd=<optimized out>, value=<optimized out>) at NSScanner.m:823 #2  0xb7ba9056 in +[NSColor(GNUstepPrivate) colorFromString:] (self=<optimized out>, _cmd=<optimized out>,
    str=<optimized out>) at NSColor.m:1810
#3  0xb7ba5166 in initSystemColors () at NSColor.m:277
#4  +[NSColor initialize] (self=<optimized out>, _cmd=<optimized out>) at NSColor.m:328 #5  0xb7291c58 in objc_send_initialize () from /System/Library/Libraries/libobjc.so.4.6 #6  0xb729db58 in slowMsgLookup () from /System/Library/Libraries/libobjc.so.4.6 #7  0xb72a3b11 in objc_msgSend () from /System/Library/Libraries/libobjc.so.4.6 #8  0xb7be61d0 in +[NSImage initialize] (self=<optimized out>, _cmd=<optimized out>) at NSImage.m:451 #9  0xb7291c58 in objc_send_initialize () from /System/Library/Libraries/libobjc.so.4.6 #10 0xb729db58 in slowMsgLookup () from /System/Library/Libraries/libobjc.so.4.6 #11 0xb72a3b11 in objc_msgSend () from /System/Library/Libraries/libobjc.so.4.6 #12 0xb7bbce88 in getStandardCursor (name=<optimized out>, style=<optimized out>) at NSCursor.m:183 #13 0xb7bbcdad in +[NSCursor arrowCursor] (self=0x817d260, _cmd=0xb7ec7174 <objc_selector_list+32>) at NSCursor.m:201 #14 0xb7bbcaec in +[NSCursor initialize] (self=0x817d260, _cmd=0x8090918) at NSCursor.m:69 #15 0xb7291c58 in objc_send_initialize () from /System/Library/Libraries/libobjc.so.4.6 #16 0xb729db58 in slowMsgLookup () from /System/Library/Libraries/libobjc.so.4.6 #17 0xb72a3b11 in objc_msgSend () from /System/Library/Libraries/libobjc.so.4.6 #18 0xb43992d8 in -[XGServer(WindowOps) _initializeCursorForXWindow:] (self=<optimized out>, _cmd=<optimized out>,
    win=<optimized out>) at XGServerWindow.m:3980
#19 0xb4391ea0 in -[XGServer(WindowOps) _checkStyle:] (self=<optimized out>, _cmd=<optimized out>,
    style=<optimized out>) at XGServerWindow.m:931
#20 0xb4393a34 in -[XGServer(WindowOps) _setupRootWindow] (self=<optimized out>, _cmd=<optimized out>)
    at XGServerWindow.m:1659
#21 0xb4389ef6 in -[XGServer _initXContext] (self=<optimized out>, _cmd=<optimized out>) at XGServer.m:465 #22 0xb4389fe8 in -[XGServer initWithAttributes:] (self=<optimized out>, _cmd=<optimized out>, info=<optimized out>)
    at XGServer.m:478
#23 0xb7cd0c44 in +[GSDisplayServer serverWithAttributes:] (self=<optimized out>, _cmd=<optimized out>,
    attributes=<optimized out>) at GSDisplayServer.m:181
#24 0xb7b65a8f in -[NSApplication _init] (self=0x83be414, _cmd=0xb7ea0b50 <objc_selector_list+32>)
    at NSApplication.m:892
#25 0xb753cc13 in -[NSObject performSelector:withObject:] (self=<optimized out>, _cmd=<optimized out>,
    aSelector=<optimized out>, anObject=<optimized out>) at NSObject.m:2024



For a long time I worked around this by removing optimization, the minimum was this in base:

GSFormat.m_FILE_FILTER_OUT_FLAGS = -O%

Now... this hack stopped working for me, GNUstep is "broken".
In the meanwhile, I also updated the compiler. it is cloang 8.0.1, no longer clang 6. I hope that if there was some strange compiler bug, it should have been gone.

So I start fearing that we have some bad code, but it happens "only" in this setup I have. Any suggestion?

Riccardo



reply via email to

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