Skip to content

fix: improve error handling to prevent softlock#367

Merged
jacobgkau merged 1 commit intopop-os:masterfrom
kajusnau:fix-auth-softlock
Dec 15, 2025
Merged

fix: improve error handling to prevent softlock#367
jacobgkau merged 1 commit intopop-os:masterfrom
kajusnau:fix-auth-softlock

Conversation

@kajusnau
Copy link
Copy Markdown
Contributor

@kajusnau kajusnau commented Dec 12, 2025

  • Greeter IPC AuthMessageType::Error are forwarded as Message::Error instead of Message::Prompt.
  • Locker PAM conversation treats error_msg as errors via error_message, which are forwarded as Message::Error as well.

Fixes an issue introduced by #349:

For example, when using systemd-homed, failed authentication would previously be treated as normal prompts, causing the greeter to softlock in the "Authenticating..." state, even though authentication has already failed.
This appears to happen due to pam_systemd_home sending PAM_ERROR_MSG followed by PAM_PROMPT_ECHO_OFF, instead of the usual PAM_AUTH_ERR or similar.

With this patch, PAM errors reset the "Authenticating..." state, and password input is re-enabled.

- handle greetd ipc auth_message error types as errors
- handle locker pam error_msg as errors
- fixes an issue where greeter would get stuck in 'Authenticating...'
  state due to error messages being treated as normal messages
@jacobgkau jacobgkau requested review from a team December 12, 2025 16:12
Copy link
Copy Markdown
Member

@jacobgkau jacobgkau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the fix. Login, the incorrect password message, and all of the buttons are working the same as before on Pop!_OS 24.04.

@jacobgkau jacobgkau merged commit 5dc1db2 into pop-os:master Dec 15, 2025
9 checks passed
@kajusnau kajusnau deleted the fix-auth-softlock branch January 19, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants