Chromium/Opera "randomly" not rendering in i3
I'm on 18.04, using i3, and sometimes when I go from some workspace to a workspace containing chromium or opera, those windows aren't redrawing. I can still press ctrl+s
to open a "save to" popup, which renders fine.
The behaviour is quite quirky, and it happens maybe twice a day, and I can't seem to find a way to reproduce it reliably. Here are a bunch of observations:
- I think I usually have cpu usage of 20%+ (according to
mpstat 2 1 | awk '$12 ~ /[0-9.]+/ { print 100 - $12"%" }'
), when it happens - After it happens, I can't use
mod+q
(to quit window from i3),ctrl+q
(to quit from opera), but I can seem to be able to runctrl+w
to quit a tab, even if I don't see it immediately. When I reopen opera, that tab is gone - I can quit the process by running
fkill opera
, or the appropriate amount ofpkill opera
- About a week ago, I was running ubuntu 16.04 with i3, and I already had problems. I thought maybe getting a fresh install would help, but it didn't. It worked fine for a few days, but after ~3 days, I started getting the errors again, so maybe there's a package that I installed that broke it?
- Opera/Chromium didn't always do this. It started about 1-2 months ago
- When it does the rendering bug, it simply shows whatever was occupying those pixels in the previous workspace.
- I can still open terminals and other windows on that workspace, and they will display just fine. If I then shrink or remove them, the pixels previously occupied by that new window will now have changed to whatever was in those windows
- the mouse cursor doesn't leave a trail
- I think it happened with other resource-heavy windows, but I don't remember for sure
I haven't managed to isolate the conditions and versions of the browsers, i3, or other packages. I'm running the latest stable of everything, as far as I know.
From what I can tell, it could be anything from a driver error, to a bug in some package. I'm not even sure where to look for possible logs of this
Any suggestions? Does this happen to anyone else? Should I report this to opera/chrome? Should I also file a bug report for i3? I'm very confused
In my case, it turned out that something was wrong with the GPU renderer of the browsers
After apparently another 2 months after posting the question and inspecting various scenarios, I still haven't figured out why it happens, but I've figure out how to fix it once it happens.
When one of your chromium-based browsers freezes/disappears like that, look for a process with --type=gpu-process
under either opera
, chromium
, or what have you, then kill it
$ ps aux | grep opera | grep gpu-process
user 9736 1.8 1.4 613716 115176 ? Sl Jan09 26:35 /usr/lib/x86_64-linux-gnu/opera/opera --type=gpu-process --field-trial-handle=...
$ kill 9736
Some tabs might be affected, and display an error, but simply refreshing them makes the browser work again
Try disabling Hardware Acceleration in Chrome → Settings. This worked for me.