Joined: 11 Jun 2020
Location: Canyon Lake, Texas
|Posted: Sat Jan 16, 2021 2:13 pm Post subject: Race condition in kwin_x11
|Hi, y'all. I haven't been here in about three months, because almost everything in my Gentoo install has been working perfetctly almost all the time.
I ran into something very odd this morning.The workaround is pretty simple: just reboot, and it's fixed. But I suspect a bug in "plasmashell" (aka startplasma_x11, I think), or one of its (indirect) children. I don't necessarily want to fix the bug. Mostly I just want a better idea of why it might be happening once in a while.
I log off before I go to bed at night. I used to suspend the system too, but that doesn't work quite right now (keyboard wakes up, but no monitor), so I just log out. (Yeah, I should fix that, too. I'm lazy, OK?) This morning, the system was in a race condition, even though nobody was logged in. (This has happened three or four times before today. I usually just shrug my shoulders and reboot. Today I decided to do some digging.) So I logged in and fired up Ksysguard. Sure enough, it was Kwin_x11 again. Using from 13% to (occasionally) 30% of the cpu (there are eight cpus in my system). Only this time, there were two instances of Kwin_x11 running. One was pretty normal (~50 MB and 1% cpu). The other was much larger; about 170 MB and 13% - 25% cpu. So I killed the big one. That started a race in the small one. Even though I was certain it would freeze my desktop, I killed that one too.
Sure enough. I could no longer maximize and minimize the windiws I had open (two at this point -- I had started qps to get a better look at all the processes running on the system). Even the start button was dead (it relies on Kwin_x11 to create the little pop up window where the menu is displayed). So I used krunner (Alt + F2) to restart kwin_x11. That fixed the frozen desktop. But it didn't do a thing for the race condition.
I honestly think think this bug has been around for years. Before I learned how to install Gentoo, I had used openSUSE Linux (and many others, but mostly openSUSE). Since 2002. I remember encountering a similar problem at least 10 years ago. On openSUSE I could use krunner to say "kill all plasmashell" (my desktop disappeared, except for Krunner), and then "kstart plasmashell" (the desktop reappeared, with all the apps still running, and no more racing cpu). That always fixed it (for a while). But those commands won't work on Gentoo; I've tried "kill all plasmashell", and nothing happens.
Enough. I would be grateful for any suggestions about digging farther into it if it happens again. I have fired up Wayland a few times, where the corresponding process is simply called Kwin. That one sems to need ~15% cpu all the time. and I'm not real keen on the appearance of the desktop with Wayland. I read a few posts on the KDE developers' blogs from time to time, so I know the X11 interface is regarded as "legacy" code now. So there's little point in filing a bug report; no one will work on it. I'd still like to understand why this happens inttermittently. Thanks!
Canyon Lake, Texas