https://bugs.kde.org/show_bug.cgi?id=517452
Dustin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |RESOLVED Resolution|--- |FIXED Latest Commit| |https://invent.kde.org/plas | |ma/plasma-login-manager/-/c | |ommit/4df14e8a7687cc159d872 | |4efa9af07ad94b69c19 --- Comment #2 from Dustin <[email protected]> --- Git commit 4df14e8a7687cc159d8724efa9af07ad94b69c19 by Dustin Kadrmas. Committed on 06/07/2026 at 07:10. Pushed by broulik into branch 'master'. Auth: do not cast a crashed helper's exit code into HelperExitStatus When plasmalogin-helper is terminated by a signal (for example when its logind session scope is stopped and SendSIGHUP delivers SIGHUP, which the helper does not handle), QProcess reports CrashExit and its exitCode() is the terminating signal number rather than a meaningful status. childExited cast that number straight into HelperExitStatus, so a SIGHUP (signal 1) became HELPER_AUTH_ERROR. Display::slotHelperFinished deliberately skips stop() for HELPER_AUTH_ERROR (to keep the greeter up after a wrong password), so a killed session was mistaken for a failed login: the daemon never stopped the display, never emitted displayStopped, and the seat was left with no session and no way to recover short of restarting the daemon. Emit HELPER_OTHER_ERROR for any non-normal exit instead. Display then stops the display and the seat recovers through the normal displayStopped path; the greeter's onHelperFinished ignores HELPER_OTHER_ERROR, so its teardown is unaffected. While here, fix the crash warning, which printed the QProcess exit status (always CrashExit) labelled as an exit code; print the terminating signal. M +5 -1 src/auth/Auth.cpp https://invent.kde.org/plasma/plasma-login-manager/-/commit/4df14e8a7687cc159d8724efa9af07ad94b69c19 -- You are receiving this mail because: You are watching all bug changes.
