Expired Kerberos tickets not re-acquired on resume from suspend
(This is the same issue that I mentioned on IRC around November, with the same logs and all. I'm just finally trying to put together a coherent bug report.)
I have added my Kerberos account to GNOME (the password is remembered in the keyring), and GOA always gets a ticket upon login. However, after I resume my laptop, the tickets are usually neither renewed (if still renewable) nor re-acquired (if expired).
Usually I see this message immediately after resume, before NetworkManager has re-established the Wi-Fi connection yet:
goa-identity-se[8827]: g_task_return_boolean: assertion '!task->ever_returned' failed
After this happens, even if the tickets happen to be still valid and renewable (but nearing expiry) they don't get renewed ever again, even when network is already available – the daemon just lets them run to expiry.
With G_MESSAGES_DEBUG=all, the following messages show up during resume:
Oct 26 22:03:10 goa-identity-se[276693]: GoaAlarm: discontinuity detected from timer fd
Oct 26 22:03:10 goa-identity-se[276693]: GoaKerberosIdentity: renewal alarm fired for signed-in identity
Oct 26 22:03:10 goa-identity-se[276693]: GoaKerberosIdentityManager: identity needs renewal
Oct 26 22:03:10 goa-identity-se[276693]: GoaIdentityService: identity grawity@NULLROUTE.EU.ORG needs renewal
Oct 26 22:03:10 goa-identity-se[276693]: GoaAlarm: discontinuity detected from timer fd
Oct 26 22:03:10 goa-identity-se[276693]: GoaAlarm: discontinuity detected from timer fd
Oct 26 22:03:10 goa-identity-se[276693]: GoaKerberosIdentityManager: renewing identity grawity@NULLROUTE.EU.ORG
Oct 26 22:03:20 goa-identity-se[276693]: GoaKerberosIdentityManager: could not renew identity: Could not get new credentials to renew identity grawity@NULLROUTE.EU.ORG: Resource temporarily unavailable
Oct 26 22:03:20 goa-identity-se[276693]: g_task_return_boolean: assertion '!task->ever_returned' failed
Oct 26 22:03:20 goa-identity-se[276693]: GoaKerberosIdentityManager: Waiting for next operation
Oct 26 22:03:20 goa-identity-se[276693]: GoaIdentityService: could not renew identity: Could not get new credentials to renew identity grawity@NULLROUTE.EU.ORG: Resource temporarily unavailable
...
Oct 26 22:03:25 NetworkManager[524]: <info> [1603742605.4808] manager: sleep: wake requested (sleeping: yes enabled: yes)
Later on, the following messages show up when the tickets are about to expire:
Oct 22 17:26:57 goa-identity-se[276693]: GoaKerberosIdentity: expiring alarm fired for signed-in identity
Oct 22 17:26:57 goa-identity-se[276693]: GoaKerberosIdentityManager: identity about to expire
Oct 22 17:26:57 goa-identity-se[276693]: GoaIdentityService: identity grawity@NULLROUTE.EU.ORG expiring
Oct 22 17:26:57 goa-identity-se[276693]: GoaIdentityService: credentials for account grawity@NULLROUTE.EU.ORG ensured for 603 seconds
Oct 22 17:27:02 goa-identity-se[276693]: GoaKerberosIdentity: expiring alarm fired for signed-in identity
Oct 22 17:27:02 goa-identity-se[276693]: GoaKerberosIdentityManager: identity about to expire
Oct 22 17:27:02 goa-identity-se[276693]: GoaIdentityService: identity grawity@NULLROUTE.EU.ORG expiring
Oct 22 17:27:02 goa-identity-se[276693]: GoaIdentityService: credentials for account grawity@NULLROUTE.EU.ORG ensured for 598 seconds
- Journal after system resume, with G_MESSAGES_DEBUG=all: log_after_resume.txt
- An attempt to run the daemon under gdb, to trace the source of the assertion: fatal_warnings_gdb.txt