Skip to content

[GNOME 50 / EL10] org.gnome.Shell.target missing — gnome-session-init-worker aborts on first boot #80

@hanthor

Description

@hanthor

Background

While triaging tuna-os/github-copr#15, we identified that gnome-session-init-worker aborts on first boot because it cannot find org.gnome.Shell.target. An attempt was made to fix this by uncommenting the unit in gnome-shell.spec, but investigation showed:

  • org.gnome.Shell.target is not present in the GNOME 50.0 tarball — meson does not install it
  • The line is also commented out in the Fedora 44 spec (#{_userunitdir}/org.gnome.Shell.target)
  • The unit was present in EL10 AppStream's GNOME 47/49 builds

The revert is tracked in tuna-os/github-copr@469fd1c.

The Problem

gnome-session-init-worker gnome-initial-setup crashes with SIGABRT because it expects org.gnome.Shell.target to exist as a systemd user unit. Without it, the GDM greeter session cannot register and the system hangs at a blank screen on first boot.

What We Don't Know

Where is this unit supposed to come from in GNOME 50? Possible explanations:

  1. Removed upstream intentionally — GNOME 50 may have restructured session startup so this target is no longer needed, and gnome-session-init-worker should not be looking for it. Could be a gnome-session bug that needs an upstream fix or backport.

  2. Moved to another package — It may have migrated to gnome-session or a new session-related package that we aren't shipping yet.

  3. Needs to be a static file in gnome-shell — The .target file may not be generated by meson but should be shipped as a static source file. Worth checking whether the Fedora 44 gnome-shell package has it in the installed RPM even though meson doesn't build it (i.e., installed via a Source: + manual install in the spec).

  4. gnome-session-init-worker has a graceful fallback on Fedora — Fedora 44 may ship a patched gnome-session that tolerates the missing target, and EL10 does not.

Suggested Investigation Steps

  • rpm -ql gnome-shell on a working Fedora 44 system — does org.gnome.Shell.target appear?
  • If yes: check if it comes from a Source: file in the Fedora spec or is installed some other way
  • Check gnome-session upstream git log around the GNOME 50 timeframe for changes to gnome-session-init-worker and how it handles missing units
  • Search gnome-session source for org.gnome.Shell.target — is the worker hardcoded to require it?
  • Check if gnome-session-init-worker logs a specific error vs. unconditional abort — a graceful fallback patch may exist
  • Check EL10's stock gnome-session (GNOME 47) — does it ship a org.gnome.Shell.target that our GNOME 50 session is accidentally inheriting/expecting?

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions