Hi Riccardo, I’ve hit this a fair bit too, but it’s usually too late to be clear on the exact cause by the time I hear a fan spin up and spot what’s happened. I was suspecting mine being triggered by the use of keyboard shortcuts in GWorkspace (e.g. creating directory, moving a file to recycler). It seems to happen less when I’m not using GWorkspace keyboard shortcuts so heavily, but I’m not very certain on this!
Cheers, Tim > On 26 Jun 2025, at 11:28, Riccardo Mottola <riccardo.mott...@libero.it> wrote: > > 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 > >