Hi. Since upgrading from Fedora 24 to 25, on one particular machine, I cannot unlock the Login keyring. Interestingly it seems that GKR remained at the same version from F24 to F25. GKR just keeps telling me the password is wrong, but I know what I am typing has to be right because it's the same password I log into the machine with and simply logging in has unlocked that keyring for years now. I'm at a bit of a loss as to where to continue debugging. I have verified that GKR daemon running under my account does indeed opening and reading /home/brian/.gnome2/keyrings/login.keyring: ... [pid 14533] open("/home/brian/.gnome2/keyrings/login.keyring", O_RDONLY <unfinished ...> ... [pid 14533] <... open resumed> ) = 20 [pid 14533] read(20, <unfinished ...> ... [pid 14533] <... read resumed> "GnomeKeyring\n\r\0\n\0\0\0\0\0\0\0\5Login\0\0\0"..., 727650) = 727650 ... [pid 14533] close(20 <unfinished ...> ... [pid 3069] <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8 ... [pid 14533] <... close resumed> ) = 0 dbus-monitor says this is going on when I try to unlock the Login keyring with seahorse: method call time=1482176748.371930 sender=:1.71 -> destination=:1.58 serial=14 path=/org/gnome/keyring/Prompt/p12; interface=org.gnome.keyring.internal.Prompter.Callback; member=PromptReady string "yes" array [ dict entry( string "warning" variant variant string "" ) dict entry( string "password-strength" variant variant int32 1 ) dict entry( string "choice-chosen" variant variant boolean true ) dict entry( string "message" variant variant string "Enter password to unlock your login keyring" ) dict entry( string "choice-label" variant variant string "" ) dict entry( string "cancel-label" variant variant string "Cancel" ) dict entry( string "description" variant variant string "The login keyring did not get unlocked when you logged into your computer." ) dict entry( string "continue-label" variant variant string "Unlock" ) dict entry( string "caller-window" variant variant string "" ) dict entry( string "title" variant variant string "Unlock Login Keyring" ) ] string "[sx-aes-1] public=[redacted] secret=[redacted] iv=[redacted] " method return time=1482176748.372129 sender=:1.58 -> destination=:1.71 serial=805 reply_serial=14 method call time=1482176748.372237 sender=:1.58 -> destination=org.freedesktop.DBus serial=806 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gnome.keyring.SystemPrompter'" method return time=1482176748.372251 sender=org.freedesktop.DBus -> destination=:1.58 serial=154 reply_serial=806 method call time=1482176748.380371 sender=:1.58 -> destination=org.freedesktop.DBus serial=807 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gnome.keyring.SystemPrompter'" method return time=1482176748.380386 sender=org.freedesktop.DBus -> destination=:1.58 serial=155 reply_serial=807 method call time=1482176748.380390 sender=:1.58 -> destination=org.freedesktop.DBus serial=808 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string "org.gnome.keyring.SystemPrompter" method return time=1482176748.380410 sender=org.freedesktop.DBus -> destination=:1.58 serial=156 reply_serial=808 string ":1.71" method call time=1482176748.380427 sender=:1.58 -> destination=org.gnome.keyring.SystemPrompter serial=809 path=/org/gnome/keyring/Prompter; interface=org.gnome.keyring.internal.Prompter; member=PerformPrompt object path "/org/gnome/keyring/Prompt/p12" string "password" array [ dict entry( string "choice-label" variant string "" ) dict entry( string "description" variant string "The login keyring did not get unlocked when you logged into your computer." ) dict entry( string "continue-label" variant string "Unlock" ) dict entry( string "message" variant string "Enter password to unlock your login keyring" ) dict entry( string "title" variant string "Unlock Login Keyring" ) dict entry( string "warning" variant string "The unlock password was incorrect" ) ] string "[sx-aes-1] public=[redacted] " method return time=1482176748.382010 sender=:1.71 -> destination=:1.58 serial=15 reply_serial=809 I've tried with a little python programlet: python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, '[redacted]');" Gkr-Message: secret service operation failed: The password was invalid Traceback (most recent call last): File "<string>", line 1, in <module> gnomekeyring.IOError Although the dbus conversation is different with the above python programlet: method call time=1482177095.011718 sender=:1.76 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1482177095.011738 sender=org.freedesktop.DBus -> destination=:1.76 serial=1 reply_serial=1 string ":1.76" signal time=1482177095.011745 sender=org.freedesktop.DBus -> destination=(null destination) serial=166 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.76" string "" string ":1.76" signal time=1482177095.011755 sender=org.freedesktop.DBus -> destination=:1.76 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.76" method call time=1482177095.011838 sender=:1.76 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',interface='org.gnome.secrets.Prompt',member='Completed'" method call time=1482177095.011853 sender=:1.76 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',member='NameOwnerChanged',interface='org.freedesktop.DBus'" method call time=1482177095.011859 sender=:1.76 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession string "dh-ietf1024-sha256-aes128-cbc-pkcs7" variant array of bytes [ [redacted] ] method return time=1482177095.015868 sender=:1.58 -> destination=:1.76 serial=819 reply_serial=4 variant array of bytes [ [redacted] ] object path "/org/freedesktop/secrets/session/s4" method call time=1482177095.017636 sender=:1.76 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets; interface=org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface; member=UnlockWithMasterPassword object path "/org/freedesktop/secrets/aliases/default" struct { object path "/org/freedesktop/secrets/session/s4" array of bytes [ 16 8f 44 fe ba 78 fc 74 b7 55 e3 33 73 0f d5 16 ] array of bytes [ 6c c2 6b fd f1 54 6b ec e1 70 e9 60 3a 23 4a 9d ] string "text/plain; charset=utf8" } error time=1482177095.025930 sender=:1.58 -> destination=:1.76 error_name=org.gnome.keyring.Error.Denied reply_serial=5 string "The password was invalid" signal time=1482177095.043893 sender=org.freedesktop.DBus -> destination=:1.76 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string ":1.76" signal time=1482177095.043913 sender=org.freedesktop.DBus -> destination=(null destination) serial=167 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.76" string ":1.76" string "" method call time=1482177096.575567 sender=:1.71 -> destination=org.freedesktop.DBus serial=20 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName string "org.gnome.keyring.SystemPrompter" signal time=1482177096.575619 sender=org.freedesktop.DBus -> destination=:1.71 serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string "org.gnome.keyring.SystemPrompter" signal time=1482177096.575639 sender=org.freedesktop.DBus -> destination=(null destination) serial=168 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string "org.gnome.keyring.SystemPrompter" string ":1.71" string "" method return time=1482177096.575657 sender=org.freedesktop.DBus -> destination=:1.71 serial=15 reply_serial=20 uint32 1 method call time=1482177096.575956 sender=:1.71 -> destination=org.freedesktop.DBus serial=21 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName string "org.gnome.keyring.PrivatePrompter" signal time=1482177096.575974 sender=org.freedesktop.DBus -> destination=:1.71 serial=16 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string "org.gnome.keyring.PrivatePrompter" signal time=1482177096.575984 sender=org.freedesktop.DBus -> destination=(null destination) serial=169 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string "org.gnome.keyring.PrivatePrompter" string ":1.71" string "" method return time=1482177096.575996 sender=org.freedesktop.DBus -> destination=:1.71 serial=17 reply_serial=21 uint32 1 signal time=1482177096.578029 sender=org.freedesktop.DBus -> destination=:1.71 serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string ":1.71" signal time=1482177096.578048 sender=org.freedesktop.DBus -> destination=(null destination) serial=170 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.71" string ":1.71" string "" Maybe that python programlet is too old and doesn't exercise the API correctly. But everything points to bad password but I cannot at all see how I can be providing an incorrect password when as I said above, I have always relied on PAM unlocking the keyring for me with my login password and I am trying to use my login password to unlock now when it says it's not the correct password. Any ideas? Cheers, b.
Attachment:
signature.asc
Description: This is a digitally signed message part