Skip to content

GDM: Blank login screen when selecting user whose broker is not available #1357

@adombeck

Description

@adombeck

This is what I see when I select a user whose broker is not available:

Image

It's stuck like that. Sometimes pressing Escape brings me back to the user selection, sometimes it doesn't.

I'm able to reproduce this on Noble and Resolute.

Steps to reproduce:

  1. Configure a broker (I used authd-msentraid)
  2. Authenticate with the broker
  3. sudo rm /etc/authd/brokers.d/*
  4. sudo systemctl restart authd
  5. In GDM, select the existing authd user. It asks for a password (that's GDM asks for password when broker is disabled #1359).
  6. Go back to the user selection
  7. Select the same user again

Relevant logs (from Noble):

Mar 23 15:28:37 ubuntu gnome-shell[17323]: authd: Starting authd protocol
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"hello","hello":{"version":1}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Gdm Reply is type:hello  hello:{version:1}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.initHealthCheck{}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Sending to GDM: {"type":"request", "request":{"type":"uiLayoutCapabilities", "uiLayoutCapabilities":{}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"response","response":{"type":"uiLayoutCapabilities","uiLayoutCapabilities":{"supportedUiLayouts":[{"type":"form","label":"required","wait":"optional:true,false","entry":"optional:chars,chars_password,digits,digits_password"},{"type":"newpassword","label":"required","entry":"optional:chars,chars_password,digits,digits_password"},{"type":"qrcode","label":"required","button":"optional","wait":"required:true,false","content":"required","code":"optional"}]}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.supportedUILayoutsReceived{layouts:[]*authd.UILayout{(*authd.UILayout)(0xc00033c3f0), (*authd.UILayout)(0xc00033c690), (*authd.UILayout)(0xc00033c700)}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.brokersListReceived{brokers:[]*authd.ABResponse_BrokerInfo{(*authd.ABResponse_BrokerInfo)(0xc0000a32c0)}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.BrokerListReceived{}, brokers: []*authd.ABResponse_BrokerInfo{(*authd.ABResponse_BrokerInfo)(0xc0000a32c0)}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.userSelected{username:"test@ubudev1.onmicrosoft.com"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.UsernameSelected{}, user: "test@ubudev1.onmicrosoft.com"
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Sending to GDM: {"type":"event", "event":{"type":"brokersReceived", "brokersReceived":{"brokersInfos":[{"id":"local", "name":"local", "brandIcon":""}]}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Sending to GDM: {"type":"event", "event":{"type":"userSelected", "userSelected":{"userId":"test@ubudev1.onmicrosoft.com"}}}
Mar 23 15:28:37 ubuntu authd[16997]: Last used broker "2102147668" is not available for user "test@ubudev1.onmicrosoft.com", letting the user select a new one
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.brokerSelectionRequired{}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.ChangeStage{Stage:"brokerSelection"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: *adapter.authModeSelectionModel: Reset
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.List: Focus
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.listFocused{id:0x1}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.StageChanged{Stage:"brokerSelection"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Sending to GDM: {"type":"request", "request":{"type":"changeStage", "changeStage":{"stage":"brokerSelection"}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"eventAck"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: EventSend&{brokersInfos:{id:"local"  name:"local"  brand_icon:""}}result<nil>
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"eventAck"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: EventSend&{userId:"test@ubudev1.onmicrosoft.com"}result<nil>
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"response","response":{"type":"changeStage","ack":{}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Gdm stage change to brokerSelection sent
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"pollResponse","pollResponse":[{"type":"brokerSelected","brokerSelected":{"brokerId":"local"}}]}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: GDM poll response: type:brokerSelected  brokerSelected:{brokerId:"local"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.brokerSelected{brokerID:"local"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.BrokerSelected{BrokerID:"local"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Sending to GDM: {"type":"event", "event":{"type":"brokerSelected", "brokerSelected":{"brokerId":"local"}}}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: adapter.pamError{status:25, msg:""}
Mar 23 15:28:37 ubuntu gnome-shell[17323]: authd: Broker selected local
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: Got from GDM: {"type":"eventAck"}
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: EventSend&{brokerId:"local"}result<nil>
Mar 23 15:28:37 ubuntu gdm-session-wor[17821]: LOGIN: exiting with error The return value should be ignored by PAM dispatch: 
Mar 23 15:28:37 ubuntu authd-pam[17837]: GDM service running without JSON extension, skipping...
Mar 23 15:28:37 ubuntu authd-pam[17837]: LOGIN: exiting with error The return value should be ignored by PAM dispatch
Mar 23 15:28:40 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Mar 23 15:28:41 ubuntu gnome-shell[17323]: authd: Cancelling authentication
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Connecting to unix:///run/authd.sock
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Sending to GDM: {"type":"hello"}
Mar 23 15:28:42 ubuntu gnome-shell[17323]: authd: Starting authd protocol
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Got from GDM: {"type":"hello","hello":{"version":1}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Gdm Reply is type:hello  hello:{version:1}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.initHealthCheck{}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Sending to GDM: {"type":"request", "request":{"type":"uiLayoutCapabilities", "uiLayoutCapabilities":{}}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Got from GDM: {"type":"response","response":{"type":"uiLayoutCapabilities","uiLayoutCapabilities":{"supportedUiLayouts":[{"type":"form","label":"required","wait":"optional:true,false","entry":"optional:chars,chars_password,digits,digits_password"},{"type":"newpassword","label":"required","entry":"optional:chars,chars_password,digits,digits_password"},{"type":"qrcode","label":"required","button":"optional","wait":"required:true,false","content":"required","code":"optional"}]}}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.supportedUILayoutsReceived{layouts:[]*authd.UILayout{(*authd.UILayout)(0xc0003ea540), (*authd.UILayout)(0xc0003ea7e0), (*authd.UILayout)(0xc0003ea850)}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.brokersListReceived{brokers:[]*authd.ABResponse_BrokerInfo{(*authd.ABResponse_BrokerInfo)(0xc0002922d0)}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.BrokerListReceived{}, brokers: []*authd.ABResponse_BrokerInfo{(*authd.ABResponse_BrokerInfo)(0xc0002922d0)}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.userSelected{username:"test@ubudev1.onmicrosoft.com"}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Sending to GDM: {"type":"event", "event":{"type":"brokersReceived", "brokersReceived":{"brokersInfos":[{"id":"local", "name":"local", "brandIcon":""}]}}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.UsernameSelected{}, user: "test@ubudev1.onmicrosoft.com"
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Sending to GDM: {"type":"event", "event":{"type":"userSelected", "userSelected":{"userId":"test@ubudev1.onmicrosoft.com"}}}
Mar 23 15:28:42 ubuntu authd[16997]: Last used broker "2102147668" is not available for user "test@ubudev1.onmicrosoft.com", letting the user select a new one
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.brokerSelectionRequired{}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.ChangeStage{Stage:"brokerSelection"}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: *adapter.authModeSelectionModel: Reset
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.List: Focus
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.listFocused{id:0x1}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: adapter.StageChanged{Stage:"brokerSelection"}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Sending to GDM: {"type":"request", "request":{"type":"changeStage", "changeStage":{"stage":"brokerSelection"}}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Got from GDM: {"type":"eventAck"}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: EventSend&{brokersInfos:{id:"local"  name:"local"  brand_icon:""}}result<nil>
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Got from GDM: {"type":"eventAck"}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: EventSend&{userId:"test@ubudev1.onmicrosoft.com"}result<nil>
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Got from GDM: {"type":"response","response":{"type":"changeStage","ack":{}}}
Mar 23 15:28:42 ubuntu gdm-session-wor[17851]: Gdm stage change to brokerSelection sent

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions