discuss-gnustep
[Top][All Lists]
Advanced

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

Re: gui apps segfault on Linux/x86/clang/libobjc2


From: Riccardo Mottola
Subject: Re: gui apps segfault on Linux/x86/clang/libobjc2
Date: Fri, 7 Dec 2018 01:31:50 +0100
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 SeaMonkey/2.49.4

Hi,


Fred Kiefer wrote:


is that where you would check? The stacktrace is corrupt and I can't get the 
exact place of the call.

Yes, this is what I meant. Now you could compare this number to the display 
allocated for us in libs-back/Source/x11/XGServer.m at about line 422. Just 
print that out with a similar statement and the two numbers should match.
What is quite strange in your output is that this is reported twice. This looks 
like the icon size method gets called two times. This would mean that the first 
time this is handle correctly but fails the second time. could it be that these 
two calls happen at the same time? Could you also please print out the thread 
that is making these calls?

The numbers do match:

multix@think ~/gnustep-cvs/libs-back $ Ink
2018-12-07 00:48:18.639 Ink[7166:7166] XGServer init-context dpy: 150880672
2018-12-07 00:48:18.650 Ink[7166:7166] styleoffsets ... guessing offsets
2018-12-07 00:48:18.650 Ink[7166:7166] styleoffsets ... guessing offsets
2018-12-07 00:48:19.073 Ink[7166:7166] iconsize - dpy 150880672
2018-12-07 00:48:19.074 Ink[7166:7166] iconsize - dpy 150880672
Segmentation fault

I don't know how to print out the thread, I too think that two calls aren't good.

I tried putting a breakpoint and getting the stacktraces for the two calls and they are:
4565      NSLog(@"iconsize - dpy %lu", (unsigned long)dpy);
(gdb) bt
#0 -[XGServer(WindowOps) iconSize] (self=0x8434f64, _cmd=0xb7f74b30 <.objc_selector_list+88>) at XGServerWindow.m:4565 #1 0xb7d41c5a in GSGetIconFrame () from /System/Library/Libraries/libgnustep-gui.so.0.26 #2 0xb7a6251f in -[NSApplication(Private) _appIconInit] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #3 0xb7a58041 in -[NSApplication _init] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #4 0xb7455232 in -[NSObject performSelector:withObject:] () from /System/Library/Libraries/libgnustep-base.so.1.25 #5 0xb74eb675 in -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#6 0xb74eb2ec in -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:modes:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#7 0xb74eb391 in -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#8 0xb7a58420 in -[NSApplication init] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #9 0xb7a57bbf in +[NSApplication sharedApplication] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #10 0xb7a2c6f2 in NSApplicationMain () from /System/Library/Libraries/libgnustep-gui.so.0.26
#11 0x0804ab52 in main ()

4565      NSLog(@"iconsize - dpy %lu", (unsigned long)dpy);
(gdb) bt
#0 -[XGServer(WindowOps) iconSize] (self=0x8434f64, _cmd=0xb7f74b30 <.objc_selector_list+88>) at XGServerWindow.m:4565 #1 0xb7d418fe in GSGetIconSize () from /System/Library/Libraries/libgnustep-gui.so.0.26 #2 0xb7a56380 in +[NSAppIconView initialize] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #3 0xb714015c in objc_send_initialize () from /System/Library/Libraries/libobjc.so.4.6 #4 0xb714c4d8 in slowMsgLookup () from /System/Library/Libraries/libobjc.so.4.6 #5 0xb71525e1 in objc_msgSend () from /System/Library/Libraries/libobjc.so.4.6 #6 0xb7a626cd in -[NSApplication(Private) _appIconInit] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #7 0xb7a58041 in -[NSApplication _init] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #8 0xb7455232 in -[NSObject performSelector:withObject:] () from /System/Library/Libraries/libgnustep-base.so.1.25 #9 0xb74eb675 in -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#10 0xb74eb2ec in -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:modes:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#11 0xb74eb391 in -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] ()
   from /System/Library/Libraries/libgnustep-base.so.1.25
#12 0xb7a58420 in -[NSApplication init] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #13 0xb7a57bbf in +[NSApplication sharedApplication] () from /System/Library/Libraries/libgnustep-gui.so.0.26 #14 0xb7a2c6f2 in NSApplicationMain () from /System/Library/Libraries/libgnustep-gui.so.0.26
#15 0x0804ab52 in main ()
(gdb)

they are two calls for icon frame and size? Maybe this causes issues?
Concurrency?

Riccardo



reply via email to

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