So! I tried autorelabeling. That did some relabeling. But I cannot log in.
The folks over at Gnome say, that this is a Fedora issue.
So I literally do not know what else to do then reinstalling, and hoping this does not occur again.
So! I tried autorelabeling. That did some relabeling. But I cannot log in.
The folks over at Gnome say, that this is a Fedora issue.
So I literally do not know what else to do then reinstalling, and hoping this does not occur again.
Well! I dug some more into this and I resolved it! Yay!
Root Cause & Fix for GNOME session crash after Fedora 43 β 44 upgrade
Environment: Fedora 44, GNOME 50, Wayland, gnome-session-50.1-1.fc44
Symptom: Existing user cannot log into GNOME after upgrade. Fresh/new user logs in fine. gnome-session-init-worker crashes with SIGABRT every login attempt.
Root Cause
A stale loginctl session from before the upgrade remained registered as State=online despite being Active=no. Every login attempt caused gnome-session-init-worker to find this session and abort with:
g_log: A graphical session is already running!
at leader-systemd.c:310.
The fix was simply:
bash
sudo loginctl terminate-user <username>
Followed by a fresh login attempt.
The Detour β Red Herrings Along the Way
Several real but secondary issues were discovered during debugging that masked the root cause:
1. SELinux denial
denied { status } for scontext=system_u:system_r:xdm_t
tcontext=system_u:object_r:systemd_unit_file_t tclass=service
gnome-session-init-worker running under xdm_t was denied permission to query the status of graphical-session.target. This is a missing policy rule in Fedora 44βs selinux-policy package for the new GNOME 50 session architecture. It caused a cascade of downstream errors (systemd transaction conflict, SIGABRT) that looked like the primary crash but was actually a consequence of the stale session check failing first.
2. Corrupted AccountsService file
/var/lib/AccountsService/users/<username> was left in a broken state by the upgrade:
ini
Languages=de_DE.UTF-8; β should be Language=de_DE.UTF-8
Session= β empty, should be Session=gnome
The upgrade migrated the file format incorrectly. Languages (plural, with trailing semicolon) is the old Fedora 43 format; Language (singular, no semicolon) is what Fedora 44/GNOME 50 expects. The empty Session= meant GDM had no session type to launch. Fixed by correcting the file to:
ini
[User]
Language=de_DE.UTF-8
Languages=de_DE.UTF-8;
Session=gnome
SessionType=wayland
XSession=gnome
Icon=/var/lib/AccountsService/icons/<username>
SystemAccount=false
3. gsd-keyboard assertion
gsd-keyboard: g_variant_unref: assertion 'value != NULL' failed
GNOME Settings Daemon keyboard plugin reading a NULL dconf key β a separate dconf migration issue.
How to find this faster next time
Run coredumpctl debug <PID> and in gdb type bt full. The exact error message "A graphical session is already running!" appears immediately and points directly to the stale session as the cause. Everything else in the journal logs was downstream noise.
Then run:
bash
loginctl list-sessions
A session showing Active=no but State=online for your user is the smoking gun.