discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Crash on app start due to icon


From: Riccardo Mottola
Subject: Re: Crash on app start due to icon
Date: Fri, 3 Aug 2018 00:38:42 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.3

Hi,Fred,


Fred Kiefer wrote:
This is really weird. Could it be that a theme is causing this? If not I would 
as always suggest to run the program under valgrind to see what is the real 
cause of the issue. You could also try to output the variable „anImage“ instead 
of „_app_icon“ and try to inspect that with the command „p *anImage“.

We could try to make the image loading lazy, which would move it back a bit 
again. But first we should try to understand what is going on on your machines 
and why this is only happening there.
I wonder that only I do see this... It actually happens on most my machines... the only one(s) where not are the FeeBSD+Clang ones (can't get GCC work on FreeBSD yet due to libobjc2 issues, so I cannot verify that factor)


Program received signal SIGSEGV, Segmentation fault.
0xb7b3b1a6 in -[NSApplication setApplicationIconImage:] (
    self=0xb7b384f7 <-[NSApplication(Private) _loadAppIconImage]+503>,
    _cmd=0x81ba670, anImage=0xb7ed3238 <_OBJC_SELECTOR_TABLE+3256>)
    at NSApplication.m:2392
2392      imageSize = [_app_icon size];
(gdb) p _app_icon
$1 = (struct NSImage *) 0x548b0cc4
(gdb) p anImage
$2 = (struct NSImage *) 0xb7ed3238 <_OBJC_SELECTOR_TABLE+3256>
(gdb) po anImage

Program received signal SIGSEGV, Segmentation fault.
0xb74d3f36 in objc_msg_lookup () from /usr/lib/i386-linux-gnu/libobjc.so.4
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on".
Evaluation of the expression containing the function
(_NSPrintForDebugger) will be abandoned.
When the function is done executing, GDB will silently stop.

so.... I restarted and retried:

(gdb) p anImage
$3 = (struct NSImage *) 0xb7ed3238 <_OBJC_SELECTOR_TABLE+3256>
(gdb) p *anImage
$4 = {{isa = 0x140076}, _name = 0xb7ecfa84 <_OBJC_METH_VAR_TYPE_0>,
  _fileName = 0x150076, _size = {width = -2.82472465e-05,
    height = 2.02054627e-39}, _flags = {archiveByName = 0, scalable = 0,
    dataRetained = 0, flipDraw = 0, sizeWasExplicitlySet = 0,
    useEPSOnResolutionMismatch = 1, colorMatchPreferred = 0,
    multipleResolutionMatching = 0, cacheSeparately = 0,
    unboundedCacheDepth = 0, syncLoad = 1}, _reps = 0x5006e,
  _color = 0xb7ecf3e0 <_OBJC_METH_VAR_TYPE_437>, _lockedView = 0x170076,
  _delegate = 0xb7ecfa84 <_OBJC_METH_VAR_TYPE_0>, _cacheMode = 1769539}


it has a ridiculous size I'd say?

but...

(gdb) p anImage->_fileName
$5 = (struct NSString *) 0x150076
(gdb) po anImage->_fileName
Cannot access memory at address 0x150076

(gdb) p anImage->_name
$6 = (struct NSString *) 0xb7ecfa84 <_OBJC_METH_VAR_TYPE_0>
(gdb) po anImage->_name

Program received signal SIGSEGV, Segmentation fault.
0xb74d3f36 in objc_msg_lookup () from /usr/lib/i386-linux-gnu/libobjc.so.4
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on".
Evaluation of the expression containing the function
(_NSPrintForDebugger) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb)





reply via email to

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