Crashes in GUI when applying a theme (Thematic)

Riccardo Mottola <[email protected]>
Newsgroups gmane.comp.lib.gnustep.devel
Message-ID <[email protected]>
Hi all!


I was testing the latest fix by Richard in Base which has been found 
from Thematic and so clicked around Thematic and got several crashes.

I Got this:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff72103ab in objc_msg_lookup () from 
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libobjc.so.4
(gdb) bt
#0  0x00007ffff72103ab in objc_msg_lookup () from 
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libobjc.so.4
#1  0x00007ffff7bf976c in -[NSMenuView sizeToFit] (self=0x555555e81e50, 
_cmd=<optimized out>)
     at /System/Library/Headers/GNUstepBase/GSIArray.h:237
#2  0x00007ffff7befa79 in -[NSMenu sizeToFit] (self=0x555555de0a70, 
_cmd=<optimized out>) at NSMenu.m:1562
#3  0x00007ffff7516ef8 in -[NSNotificationCenter _postAndRelease:] 
(self=0x55555578d6d0, _cmd=<optimized out>,
     notification=0x555556524b20) at NSNotificationCenter.m:1198
#4  0x00007ffff7d0a9c5 in -[GSTheme activate] (self=0x555555b20020, 
_cmd=<optimized out>) at GSTheme.m:639
#5  0x000055555557584d in -[ThemeDocument activate] 
(self=0x555555e23920, _cmd=<optimized out>) at ThemeDocument.m:237
#6  0x00007ffff7b25202 in -[NSApplication sendAction:to:from:] 
(self=self@entry=0x55555580d270,
     _cmd=_cmd@entry=0x7ffff7eb1330 <_OBJC_SELECTOR_TABLE+2800>, 
aSelector=aSelector@entry=0x555556269f80,
     aTarget=0x555556159f80, sender=sender@entry=0x5555560af000) at 
NSApplication.m:2273
#7  0x00007ffff7bef9fb in -[NSMenu performActionForItemAtIndex:] 
(self=0x555555d415b0, _cmd=<optimized out>,
     index=<optimized out>) at NSMenu.m:1395
#8  0x00007ffff7bf8249 in -[NSMenuView 
_trackWithEvent:startingMenuView:] (self=0x555555f0c8e0, _cmd=<optimized 
out>,
     event=0x5555562798b0, mainWindowMenuView=0x0) at NSMenuView.m:1925
#9  0x00007ffff7bf8423 in -[NSMenuView trackWithEvent:] 
(self=0x555555f0c8e0, _cmd=<optimized out>, event=0x555555cc2520)
     at NSMenuView.m:1961
#10 0x00007ffff7bf86cd in -[NSMenuView mouseDown:] (self=0x555555f0c8e0, 
_cmd=<optimized out>, theEvent=0x555555cc2520)
     at NSMenuView.m:2003
#11 0x00007ffff7c1abf9 in -[NSPopUpButtonCell 
trackMouse:inRect:ofView:untilMouseUp:] (self=self@entry=0x555555b41bc0,
     _cmd=_cmd@entry=0x7ffff7ed4de0 <_OBJC_SELECTOR_TABLE+800>, 
theEvent=theEvent@entry=0x555555e0c930, cellFrame=...,
     controlView=controlView@entry=0x5555560af000, 
untilMouseUp=untilMouseUp@entry=1 '\001') at NSPopUpButtonCell.m:1036
#12 0x00007ffff7c16bd0 in -[NSPopUpButton mouseDown:] 
(self=0x5555560af000, _cmd=<optimized out>, theEvent=0x555555e0c930)
     at NSPopUpButton.m:455
#13 0x00007ffff7cc57ac in -[NSWindow sendEvent:] (self=0x555555c15140, 
_cmd=<optimized out>, theEvent=0x555555e0c930)
     at NSWindow.m:4154
#14 0x00007ffff7b2b994 in -[NSApplication run] (self=0x55555580d270, 
_cmd=<optimized out>) at NSApplication.m:1585
#15 0x00007ffff7b0ae17 in NSApplicationMain (argc=<optimized out>, 
argv=<optimized out>) at Functions.m:123
#16 0x00007ffff6ee8dfd in __libc_start_main () from /lib64/libc.so.6
#17 0x000055555557463a in _start ()
(gdb)


Then I was able to reproduce the original crash and got this:


#0  0x00007ffff72103ab in objc_msg_lookup () from 
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libobjc.so.4
#1  0x00007ffff7bf976c in -[NSMenuView sizeToFit] (self=0x555555da3560, 
_cmd=<optimized out>)
     at /System/Library/Headers/GNUstepBase/GSIArray.h:237
#2  0x00007ffff7befa79 in -[NSMenu sizeToFit] (self=0x555555db63f0, 
_cmd=<optimized out>) at NSMenu.m:1562
#3  0x00007ffff7516ef8 in -[NSNotificationCenter _postAndRelease:] 
(self=0x55555578d6d0, _cmd=<optimized out>,
     notification=0x5555561d4aa0) at NSNotificationCenter.m:1198
#4  0x00007ffff7d0a9c5 in -[GSTheme activate] (self=0x555555a150d0, 
_cmd=<optimized out>) at GSTheme.m:639
#5  0x00007ffff7d09c25 in +[GSTheme setTheme:] (self=0x7ffff7f93ee0 
<_OBJC_Class_GSTheme>, _cmd=<optimized out>,
     theme=<optimized out>) at GSTheme.m:527
#6  0x00005555555757e0 in -[ThemeDocument activate] 
(self=0x555555beb770, _cmd=<optimized out>) at ThemeDocument.m:241
#7  0x00007ffff7516ef8 in -[NSNotificationCenter _postAndRelease:] 
(self=0x55555578d6d0, _cmd=<optimized out>,
     notification=0x555555f919d0) at NSNotificationCenter.m:1198
#8  0x00007ffff7cbc0d3 in -[NSWindow becomeKeyWindow] 
(self=0x555555f865e0, _cmd=<optimized out>) at NSWindow.m:1648
#9  0x00007ffff7cb68c3 in -[NSWindow makeKeyAndOrderFront:] 
(self=0x555555f865e0, _cmd=<optimized out>, sender=<optimized out>)
     at NSWindow.m:1764
#10 0x0000555555578e9e in -[ThemeDocument initWithPath:] 
(self=0x555555beb770, _cmd=<optimized out>, path=0x555555d190b0)
     at ThemeDocument.m:875
#11 0x0000555555574a03 in -[AppController application:openFile:] 
(self=0x555555985de0, _cmd=<optimized out>,
     application=<optimized out>, fileName=0x555555d190b0) at 
AppController.m:143
#12 0x0000555555575356 in -[AppController openDocument:] 
(self=0x555555985de0, _cmd=<optimized out>, sender=<optimized out>)
     at AppController.m:223
#13 0x00007ffff7b25202 in -[NSApplication sendAction:to:from:] 
(self=self@entry=0x55555580d270,
     _cmd=_cmd@entry=0x7ffff7eb1330 <_OBJC_SELECTOR_TABLE+2800>, 
aSelector=aSelector@entry=0x5555556e6500, aTarget=0x0,
     sender=sender@entry=0x555555a533f0) at NSApplication.m:2273
#14 0x00007ffff7bef914 in -[NSMenu performActionForItemAtIndex:] 
(self=0x555555a532d0, _cmd=<optimized out>,
     index=<optimized out>) at NSMenu.m:1388
#15 0x00007ffff7bf8249 in -[NSMenuView 
_trackWithEvent:startingMenuView:] (self=0x5555555fa200, _cmd=<optimized 
out>,
     event=0x555555d992e0, mainWindowMenuView=0x0) at NSMenuView.m:1925
#16 0x00007ffff7bf7f04 in -[NSMenuView 
_trackWithEvent:startingMenuView:] (self=0x555555b2dbd0, _cmd=<optimized 
out>,
     event=<optimized out>, mainWindowMenuView=0x0) at NSMenuView.m:1766
#17 0x00007ffff7bf8423 in -[NSMenuView trackWithEvent:] 
(self=0x555555b2dbd0, _cmd=<optimized out>, event=0x555555db67f0)
     at NSMenuView.m:1961
#18 0x00007ffff7bf86cd in -[NSMenuView mouseDown:] (self=0x555555b2dbd0, 
_cmd=<optimized out>, theEvent=0x555555db67f0)
     at NSMenuView.m:2003
#19 0x00007ffff7cc57ac in -[NSWindow sendEvent:] (self=0x555555a5bcd0, 
_cmd=<optimized out>, theEvent=0x555555db67f0)
     at NSWindow.m:4154
#20 0x00007ffff7b2b994 in -[NSApplication run] (self=0x55555580d270, 
_cmd=<optimized out>) at NSApplication.m:1585
#21 0x00007ffff7b0ae17 in NSApplicationMain (argc=<optimized out>, 
argv=<optimized out>) at Functions.m:123
#22 0x00007ffff6ee8dfd in __libc_start_main () from /lib64/libc.so.6

they look quite similar to me, although not identicall


#1  0x00007ffff7bf976c in -[NSMenuView sizeToFit] (self=0x555555da3560, 
_cmd=<optimized out>)
     at /System/Library/Headers/GNUstepBase/GSIArray.h:237
237       array->cap = next;
(gdb) p array
No symbol "array" in current context.
(gdb) p self
$1 = (NSMenuView *) 0x555555da3560
(gdb) list
232


The issue appears happening when the new theme is loaded.

Ideas?


Riccardo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.