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.

Reply via email to