Hi,
I sometimes catch high-CPU usage in GWorkspace. It doesn't go away by
itself, I need to restart the application. The application remains
functional, it does not "hang".
I don't know how to trigger it except having it run for hours or days...
It could be related to checking many images or to having file system
changes while open, I don't konw. I just though checking it after
reading Patrick's issue.
Since it is hard to reproduce, I just let it run in gdb for days and
eventually hit ctrl-c when I heard my fan spinning and htop showed CPU
(amazing how a multi-CPU sytem can hide such issue).
I hoped to see something, but without a proper hang, I guess it is more
like poking in a haystack.
Stacktrace is below. I see it is pure GNUstep.
I guess this is just the application runloop waiting for mouse or
keyboard input?
#0 0x00007ffff6e21af2 in ?? () from /lib64/libc.so.6
#1 0x00007ffff6e1660c in ?? () from /lib64/libc.so.6
#2 0x00007ffff6e16651 in ?? () from /lib64/libc.so.6
#3 0x00007ffff6e8c02a in poll () from /lib64/libc.so.6
#4 0x00007ffff74bfae8 in poll (__fds=<optimized out>, __nfds=<optimized
out>, __timeout=2)
at /usr/include/bits/poll2.h:44
#5 -[GSRunLoopCtxt pollUntil:within:] (self=<optimized out>,
_cmd=0x7ffff76de860 <_OBJC_SELECTOR_TABLE+1184>,
milliseconds=2, contexts=0x555555a60010) at GSRunLoopCtxt.m:395
#6 0x00007ffff73e77d4 in -[NSRunLoop acceptInputForMode:beforeDate:]
(self=0x555555a5e9e0,
_cmd=0x7ffff76de890 <_OBJC_SELECTOR_TABLE+1232>,
mode=0x7ffff76df690 <_OBJC_INSTANCE_2>,
limit_date=0x555557589f00) at NSRunLoop.m:1265
#7 0x00007ffff73e7494 in -[NSRunLoop runMode:beforeDate:]
(self=<optimized out>, _cmd=<optimized out>,
mode=0x7ffff76df690 <_OBJC_INSTANCE_2>, date=<optimized out>) at
NSRunLoop.m:1345
#8 0x00007ffff7ba8112 in -[GSDisplayServer(EventOps)
getEventMatchingMask:beforeDate:inMode:dequeue:] (
self=<optimized out>, _cmd=<optimized out>, mask=<optimized out>,
limit=<optimized out>, mode=<optimized out>,
flag=<optimized out>) at GSDisplayServer.m:1037
#9 0x00007ffff2dab3ca in -[XGServer(X11Ops)
getEventMatchingMask:beforeDate:inMode:dequeue:] (self=0x555555a0cd20,
_cmd=<optimized out>, mask=4294967295, limit=0x555555a74580,
mode=0x7ffff76df690 <_OBJC_INSTANCE_2>,
flag=1 '\001') at XGServerEvent.m:2743
#10 0x00007ffff79e3305 in DPSPeekEvent (ctxt=<optimized out>,
mask=<optimized out>, limit=<optimized out>,
mode=<optimized out>) at
../Headers/Additions/GNUstepGUI/GSDisplayServer.h:210
#11 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
(self=0x555555a05e10,
_cmd=0x7ffff7d125b0 <_OBJC_SELECTOR_TABLE+2928>, mask=4294967295,
expiration=0x555555a74580,
mode=0x7ffff76df690 <_OBJC_INSTANCE_2>, flag=1 '\001') at
NSApplication.m:2208
#12 0x00007ffff79e521e in -[NSApplication run] (self=0x555555a05e10,
_cmd=<optimized out>) at NSApplication.m:1579
#13 0x00005555555e2987 in main (argc=<optimized out>, argv=<optimized
out>, env=<optimized out>) at main.m:38