[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