Setting an enormous image as wallpaper causes Shell to be OOM-killed on login
Affected version
Tested on GNOME OS nightly from 15th March, which I guess is Shell 46.rc. Wayland, under a Boxes VM with 4 GB RAM assigned out of the host system's 16 GB. No extensions.
(Originally experienced in the wild by an Endless OS user with GNOME Shell 41 on physical hardware with 4 GB RAM.)
Bug summary
If you set an unreasonably large image as your wallpaper, GNOME Shell gets OOM-killed, both in your current session but again whenever you try to log in, leaving you unable to recover unless you have the technical skills to reset the user's wallpaper from the commandline.
Steps to reproduce
- Download an extremely large image (I used this file on Wikimedia Commons – the “original file” not the preview – which is 252 MB; the Endless OS user who encountered this issue used an unknown 88 MB image.)
- Open Settings and set this image as wallpaper (or, alternatively, set
org.gnome.desktop.background
picture-url
directly)
What happened
After a few seconds, my session was terminated.
When I tried to log back in, the desktop appeared with a solid-colour wallpaper, but then was terminated again after a few seconds.
What did you expect to happen
Either Shell should not allocate so much memory as to be OOM-killed in the first place (perhaps by refusing to use the unreasonably-large wallpaper), or there should be some way to recover from setting such an unreasonably-large image.