Same symptom here on Ubuntu 26.04 LTS, but the logs point at an off-by-one
between the UID the greeter process actually runs as and the UID its
XDG_RUNTIME_DIR is created for. This looks like it happens *upstream* of the
[email protected] failure reported in this bug.

Environment
-----------
Ubuntu 26.04 LTS (upgraded 22.04 -> 24.04 -> 26.04 on 2026-07-06/07,
not a fresh install)
gdm3            50.1-0ubuntu0.1
gnome-session-bin  50.1-0ubuntu0.1
systemd         259.5-0ubuntu3.4
libpam-systemd  259.5-0ubuntu3.4
Hardware: Lenovo IdeaPad 3 14ALC6, Wayland only
(/usr/share/xsessions/ does not exist)

Symptom: boot completes (graphical.target reached) but nothing is drawn --
black screen with a non-blinking cursor. Recovery requires a hard power off.
Started 2026-07-29, i.e. after the gdm3 50.0 -> 50.1 update on 2026-07-26.

Failure sequence (journalctl, one boot, verbatim)
-------------------------------------------------
gdm-launch-environment][1939]: pam_unix(gdm-launch-environment:session):
    session opened for user gdm-greeter(uid=60578)
systemd[1]: Starting [email protected] - User Runtime Directory
    /run/user/60579...
systemd-logind[1397]: New session 'c1' of user 'gdm-greeter' with class
    'greeter' and type 'wayland'.
systemd[1]: Finished [email protected].
dbus[2078]: Unable to set up transient service directory: XDG_RUNTIME_DIR
    "/run/user/60579" is owned by uid 60579, not our uid 60578
dbus-daemon[2078]: [session uid=60578 pid=2078] Cannot set up inotify for
    '/run/gdm3/home/gdm-greeter/.local/share/dbus-1/services': Permission denied
dbus-daemon[2078]: [session uid=60578 pid=2078] Activated service
    'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited
    with status 1
gnome-session[2121]: Failed to upload environment to systemd:
    GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner
gnome-session[2121]: Starting GNOME session target: [email protected]
gnome-session[2121]: Failed to start unit [email protected]:
    GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner
gdm3[1883]: Gdm: GdmDisplay: Session never registered, failing

The session UID and the runtime-directory UID differ by exactly one, and the
offset is reproducible across every retry within the same boot:

    session uid=60578  ->  user-runtime-dir@60579  ->  /run/user/60579
    session uid=60580  ->  user-runtime-dir@60581  ->  /run/user/60581
    session uid=60582  ->  user-runtime-dir@60583  ->  /run/user/60583

GDM retries the greeter 11 times ("Session never registered, failing" x11,
incrementing gdm-greeter -> gdm-greeter-2 -> ...) and then gives up:

gdm3: Gdm: GdmLocalDisplayFactory: maximum number of display failures reached.
    Giving up.

After "Giving up" the gdm3 process stays alive, so Restart=always never fires
and the system never recovers on its own.

Resulting crash
---------------
/var/crash/_usr_libexec_gnome-session-init-worker.60578.crash
  ExecutablePath: /usr/libexec/gnome-session-init-worker
  ProcCmdline:    /usr/libexec/gnome-session-init-worker ubuntu
  Signal:         6 (SIGABRT)
  CurrentDesktop: GNOME-Greeter:GNOME
  UserGroups:     gdm
The CoreDump payload is an empty gzip stream (0 bytes after decompression),
so no stacktrace is recoverable. SIGABRT rather than SIGSEGV, i.e. a failed
assertion, not memory corruption -- consistent with gnome-session aborting
after the NameHasNoOwner errors above.

The "ubuntu" in ProcCmdline and the [email protected] name match
what is described in this bug, which is why I am commenting here rather than
filing separately. But the NameHasNoOwner errors are a direct consequence of
the D-Bus session bus failing to start, which is itself caused by the
XDG_RUNTIME_DIR ownership mismatch. If the UID offset is a separate defect,
this part may be worth splitting into its own report.

Possibly relevant: upgrade path
-------------------------------
This machine came from a static-gdm-user layout (Ubuntu 22.04, gdm3 42), so
the daemon ran its one-time migration to dynamic users:

  $ sudo ls -la /var/lib/gdm3
  -rw-r--r--  1 root root    1 Jul  7 22:21 .migrated-dyn-users
  drwxr-xr-x 11 gdm  gdm  4096 Dec 12  2022 .cache
  drwxr-xr-x  8 gdm  gdm  4096 Feb 16  2023 .config
  drwxr-xr-x  4 gdm  gdm  4096 Jul  6 19:02 .local

The marker file is empty, and no "Failed to migrate /var/lib/gdm3" or
"Failed to chown directory" appeared in the journals (which go back to
2026-06-15 and therefore cover the migration on 2026-07-07), so the migration
reported success. The static gdm user (uid 125) and group (gid 130) still
exist and still own that directory tree.

I could not establish whether this is connected to the UID offset -- the
"GdmDynUserStore: Allocated dynamic user (uid: %d, home: %s)" message is
debug-level and debug is not enabled here. I mention it only because this
migration path runs exclusively on upgraded systems and never on fresh 26.04
installs, which may explain why the bug is not universally reproducible.

Workaround
----------
Enabling autologin in /etc/gdm3/custom.conf bypasses the greeter entirely and
makes the machine boot reliably again:

  [daemon]
  AutomaticLoginEnable=true
  AutomaticLogin=<username>

Happy to enable GDM debug logging and attach a fuller trace if that
would help.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2143268

Title:
  gnome-shell launches in desktop mode instead of greeter mode

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/2143268/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to