** Description changed: [ Impact ] + Since gnome-shell 50.1-0ubuntu1.2 (resolute-updates), if the GDM logo (/usr/share/pixmaps/ubuntu-logo-text-dark.svg) cannot be loaded, the login dialog throws in its constructor and the greeter shows only the background and top bar. No user list, no password entry — login is impossible. + [ Test Plan ] + + 1. sudo mv /usr/share/pixmaps/ubuntu-logo-text-dark.svg \ + /usr/share/pixmaps/ubuntu-logo-text-dark.svg.hide + + 2. Reboot. + + 3. Verify the login screen still appears (even if without the Ubuntu + logo). + + 4. sudo mv /usr/share/pixmaps/ubuntu-logo-text-dark.svg.hide \ + /usr/share/pixmaps/ubuntu-logo-text-dark.svg + + [ Where problems could occur ] + + The affected region of Javascript is fragile, as this bug demonstrates. So typically any mistake leading to a Javascript error could result in another + bug with the same symptoms as this whereby the login screen does not appear. + + Original description follows... + [ Cause ] + debian/patches/ubuntu/gdm-loginDialog-Load-the-logo-image-synchronously.patch (LP: #2145786) switches _updateLogoTexture() from load_file_async() to load_file_sync() and passes the result straight to add_child(). When loading fails, texture is null: - JS ERROR: Error: Argument child may not be null - _updateLogoTexture@resource:///org/gnome/shell/gdm/loginDialog.js:1086:27 - _updateLogo@resource:///org/gnome/shell/gdm/loginDialog.js:1094:14 - _init@resource:///org/gnome/shell/gdm/loginDialog.js:679:14 - LoginDialog@resource:///org/gnome/shell/gdm/loginDialog.js:537:4 - _ensureUnlockDialog@resource:///org/gnome/shell/ui/screenShield.js:453:28 + JS ERROR: Error: Argument child may not be null + _updateLogoTexture@resource:///org/gnome/shell/gdm/loginDialog.js:1086:27 + _updateLogo@resource:///org/gnome/shell/gdm/loginDialog.js:1094:14 + _init@resource:///org/gnome/shell/gdm/loginDialog.js:679:14 + LoginDialog@resource:///org/gnome/shell/gdm/loginDialog.js:537:4 + _ensureUnlockDialog@resource:///org/gnome/shell/ui/screenShield.js:453:28 Upstream (load_file_async) is not affected. The same patch on ubuntu/latest (51.0-2ubuntu2) already wraps this in try/catch + logError(), but the resolute version (50.1-0ubuntu1.3 / ubuntu/resolute branch) does not. [ How it happened here ] + After upgrading 24.04 -> 26.04, image loading failed system-wide: gdk-pixbuf 2.44 decodes via glycin, whose loaders are sandboxed with bwrap, and bwrap was blocked by a leftover third-party AppArmor profile conflicting with bwrap-userns-restrict. That root cause was local, but before the SRU the greeter would have shown a dialog without the logo instead of being unusable. [ Request ] + Backport the try/catch from ubuntu/latest to resolute, so a missing or unloadable logo degrades to no logo instead of a blank greeter. Package: gnome-shell 50.1-0ubuntu1.3, Ubuntu 26.04.1 -- Investigated and drafted with the help of Claude (Anthropic's AI assistant, Claude Opus 5.5); reviewed and submitted by the reporter.
** Description changed: [ Impact ] Since gnome-shell 50.1-0ubuntu1.2 (resolute-updates), if the GDM logo (/usr/share/pixmaps/ubuntu-logo-text-dark.svg) cannot be loaded, the login dialog throws in its constructor and the greeter shows only the background and top bar. No user list, no password entry — login is impossible. [ Test Plan ] 1. sudo mv /usr/share/pixmaps/ubuntu-logo-text-dark.svg \ - /usr/share/pixmaps/ubuntu-logo-text-dark.svg.hide + /usr/share/pixmaps/ubuntu-logo-text-dark.svg.hide 2. Reboot. 3. Verify the login screen still appears (even if without the Ubuntu logo). 4. sudo mv /usr/share/pixmaps/ubuntu-logo-text-dark.svg.hide \ - /usr/share/pixmaps/ubuntu-logo-text-dark.svg + /usr/share/pixmaps/ubuntu-logo-text-dark.svg [ Where problems could occur ] - The affected region of Javascript is fragile, as this bug demonstrates. So typically any mistake leading to a Javascript error could result in another + The affected region of Javascript is fragile, as this bug demonstrates. So + typically any mistake leading to a Javascript error could result in another bug with the same symptoms as this whereby the login screen does not appear. Original description follows... [ Cause ] debian/patches/ubuntu/gdm-loginDialog-Load-the-logo-image-synchronously.patch (LP: #2145786) switches _updateLogoTexture() from load_file_async() to load_file_sync() and passes the result straight to add_child(). When loading fails, texture is null: JS ERROR: Error: Argument child may not be null _updateLogoTexture@resource:///org/gnome/shell/gdm/loginDialog.js:1086:27 _updateLogo@resource:///org/gnome/shell/gdm/loginDialog.js:1094:14 _init@resource:///org/gnome/shell/gdm/loginDialog.js:679:14 LoginDialog@resource:///org/gnome/shell/gdm/loginDialog.js:537:4 _ensureUnlockDialog@resource:///org/gnome/shell/ui/screenShield.js:453:28 Upstream (load_file_async) is not affected. The same patch on ubuntu/latest (51.0-2ubuntu2) already wraps this in try/catch + logError(), but the resolute version (50.1-0ubuntu1.3 / ubuntu/resolute branch) does not. [ How it happened here ] After upgrading 24.04 -> 26.04, image loading failed system-wide: gdk-pixbuf 2.44 decodes via glycin, whose loaders are sandboxed with bwrap, and bwrap was blocked by a leftover third-party AppArmor profile conflicting with bwrap-userns-restrict. That root cause was local, but before the SRU the greeter would have shown a dialog without the logo instead of being unusable. [ Request ] Backport the try/catch from ubuntu/latest to resolute, so a missing or unloadable logo degrades to no logo instead of a blank greeter. Package: gnome-shell 50.1-0ubuntu1.3, Ubuntu 26.04.1 -- Investigated and drafted with the help of Claude (Anthropic's AI assistant, Claude Opus 5.5); reviewed and submitted by the reporter. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2169691 Title: Login screen blank and unusable when the logo fails to load (regression from LP: #2145786) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2169691/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
