Bug 1228119

Summary: kwallet5 migration fails if kwallet4 is disabled
Product: [Fedora] Fedora Reporter: David Streichl <dstreich>
Component: kf5-kwalletAssignee: KDE SIG <kde-sig>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: dstreich, germano.massullo, imlinux+fedora, jgrulich, kde-sig, kevin, rdieter, roland.wolters, smparrish, than, travneff
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-19 14:37:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
gdb and /var/log/messages none

Description David Streichl 2015-06-04 08:59:50 UTC
I have problems connecting to internal Red Hat networks (so far tested on these)

Scenario:
- After successfull startup of F22 (4.0.4-301.fc22.x86_64), with KDE Plasma, I open available network connections and choose Red Hat
- The authentication window opens for less than a second and then disappears
- Networkmanager is in status "Awaiting authorization"
- After a while, it writes times out with networkmanager popping up a message saying no authentication has been provided.
- When I try it again, then the authentication window doesn't even appear, only after next reboot.

What I found in /var/log/messages:

1) After attempting to connect:

Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: starting connection 'Red Hat'
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 1 of 5 (Device Prepare) scheduled...
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 1 of 5 (Device Prepare) started...
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 2 of 5 (Device Configure) scheduled...
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 1 of 5 (Device Prepare) complete.
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 2 of 5 (Device Configure) starting...
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): device state change: prepare -> config (reason 'none') [40 50 0]
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: (wifi) access point 'Red Hat' has security, but secrets are required.
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): device state change: config -> need-auth (reason 'none') [50 60 0]
Jun  4 10:42:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): Activation: Stage 2 of 5 (Device Configure) complete.
Jun  4 10:42:28 dstreich org.kde.kwalletd5: Application ' "kded5" ' using kwallet without parent window!
Jun  4 10:42:28 dstreich org.kde.kwalletd: Legacy integer arithmetics implementation
Jun  4 10:42:28 dstreich kernel: show_signal_msg: 216 callbacks suppressed
Jun  4 10:42:28 dstreich kernel: kwalletd5[2687]: segfault at 8 ip 00000032072af4ae sp 00007ffe36c59750 error 4 in libQt5Core.so.5.4.1[3207000000+4ab000]
Jun  4 10:42:28 dstreich audit: <audit-1701> auid=1000 uid=1000 gid=1000 ses=1 pid=2687 comm="kwalletd5" exe="/usr/bin/kwalletd5" sig=11
Jun  4 10:42:28 dstreich org.kde.kwalletd: kwalletd(2690): Communication problem with  "kwalletd" , it probably crashed.
Jun  4 10:42:28 dstreich org.kde.kwalletd: Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message did not receive a reply (timeout by message bus)" "
Jun  4 10:42:28 dstreich gdb: detected unhandled Python exception
Jun  4 10:42:29 dstreich abrt-server: Deleting problem directory ccpp-2015-06-04-10:42:28-2687 (dup of ccpp-2015-06-04-10:07:02-3971)

2) After it times out:
Jun  4 10:44:27 dstreich NetworkManager[1063]: <warn>  (wlp3s0): No agents were available for this request.
Jun  4 10:44:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): device state change: need-auth -> failed (reason 'no-secrets') [60 120 7]
Jun  4 10:44:27 dstreich NetworkManager[1063]: <warn>  (wlp3s0): Activation: failed for connection 'Red Hat'
Jun  4 10:44:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): device state change: failed -> disconnected (reason 'none') [120 30 0]
Jun  4 10:44:27 dstreich NetworkManager[1063]: <info>  (wlp3s0): deactivating device (reason 'none') [0]
Jun  4 10:44:27 dstreich kernel: IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
Jun  4 10:44:27 dstreich firewalld: 2015-06-04 10:44:27 ERROR: UNKNOWN_INTERFACE: 'wlp3s0' is not in any zone
Jun  4 10:44:30 dstreich NetworkManager[1063]: <info>  (wlp3s0): supplicant interface state: inactive -> scanning


If this is related to kwallet, it is disabled.

Please let me know what else do you need.

Thanks.

Comment 1 David Streichl 2015-06-04 09:08:06 UTC
Update:
After I have enabled kwallet again and tried the above scenario, the authentication window remained open - but it was actually KDE Wallet auth window, then KDE wizard for importing KDE 4 wallets to KDE 5 has been ran, after importing of the KDE 4 wallet to KDE 5, the standard Wifi authentication window for entering wifi password has been open.

The step described above as "- The authentication window opens for less than a second and then disappears" basically means the kwallet auth window appears for less than a second and then disappears... 

So the problem is probably that the networkmanager calls kwallet even the kwallet is disabled resulting in not showing authentication window for wifi network which finally results into inability to connect to wifi.

Comment 2 David Streichl 2015-06-04 09:09:55 UTC
and to all the above... previously I was using F21 with KDE 4 and recently upgraded to F22 with KDE Plasma 5.x (5.3?)...

Comment 3 Andrew 2015-06-09 09:34:06 UTC
Created attachment 1036667 [details]
gdb and /var/log/messages

Have the same, maybe. Updated F21->F22 with dnf-3 distro-sync. Kwallet was disabled but now NM tries to use it (a lot of KDE settings were lost). Kwalletd5 crashing and NM can't connect to 802.1x network (needs password).
Just blocking network access for me. Temporary workaround is to use wpa_supplicant directly.
Crash logs attached.

Comment 4 Andrew 2015-06-10 12:09:51 UTC
Installed more wallet-managing packages (there are two flavours of them, 4 & 5) and disabled wallet for KDE5 case. Now NM seems working fine.

Comment 5 Rex Dieter 2015-06-10 12:19:54 UTC
David, try advice in comment #4

run kwalletmanager5 (install it if missing), and disable the kf5 kwallet (if that's the configuration you're after here), and see if that helps.

Comment 6 Jan Grulich 2015-06-10 12:58:55 UTC
Did you use KWallet before in F21? If so, probably your secrets are stored with flags indicating that they are stored by our secret agent (KWallet). You would need to edit your connection and save it again, which should now (in case of disabled KWallet) store secrets directly into NetworkManager. This can be also forced to do so by checking "All users may connect to this network" checkbox in the general tab when editing a connection.

Comment 7 David Streichl 2015-06-10 13:26:43 UTC
Rex, the problem was the KDE wallet was disabled (but all packages installed) and I wasn't able to connect to secured wifi (I was not able to enter pass). When I enabled kde wallet, then there was the upgrade wizard for migrating wallet data from F21 to F22 KDE wallet, which I ran through and then when tried to connect I was requested to enter the password. So the problem was NM was calling KDE wallet, which was disabled and was not upgraded from F21 to F22, thus NM was not able to connect to KDE Wallet in order to display the password request window for wifi.

Jan, yup. THis installation was F19 -> F20 -> F21 (then I disabled KDE Wallet during use of F21) -> F22. So before upgrade to F22, KDE Wallet was disabled. But I'll check this further later (once I solve problem with KDE main panel connection to kded, right now it is unusable and I have to use gnome and don't have time to investigate further as this is my work machine).

Thanks.

Comment 8 Germano Massullo 2015-06-12 14:29:14 UTC
[ 1155.791074] kwalletd5[4083]: segfault at 8 ip 0000003ba50af8de sp 00007ffe721790e0 error 4 in libQt5Core.so.5.4.2[3ba4e00000+4ab000]
[ 1196.426309] IPv6: ADDRCONF(NETDEV_UP): wls3: link is not ready
[ 1248.149180] IPv6: ADDRCONF(NETDEV_UP): wls3: link is not ready
[ 1278.844986] IPv6: ADDRCONF(NETDEV_UP): wls3: link is not ready
[ 1278.924572] kactivitymanage[3550]: segfault at 7fac235eecf0 ip 0000003babe14661 sp 00007fff8d02e388 error 4 in libQt5Sql.so.5.4.2[3babe00000+3f000]
[ 1303.022796] kwalletd5[4751]: segfault at 8 ip 0000003ba50af8de sp 00007fff0f86b560 error 4 in libQt5Core.so.5.4.2[3ba4e00000+4ab000]
[ 1338.164585] IPv6: ADDRCONF(NETDEV_UP): wls3: link is not ready
[ 1358.068374] IPv6: ADDRCONF(NETDEV_UP): wls3: link is not ready
[ 1358.354225] kwalletd5[4841]: segfault at 8 ip 0000003ba50af8de sp 00007ffe78d6cbd0 error 4 in libQt5Core.so.5.4.2[3ba4e00000+4ab000]

A system updated from F21, where in F21 Kwallet was disabled, on F22 it has been automatically enabled.

# rpm -qa kwall*
kwalletmanager-15.04.0-1.fc22.x86_64
kwalletmanager5-15.04.0-1.20150501git.fc22.x86_64

Comment 9 Germano Massullo 2015-06-12 14:52:05 UTC
Rex suggestion
kwriteconfig5 --file=kwalletrc --group=Migration --key=alreadyMigrated=true
solved the problem

Comment 10 Rex Dieter 2015-06-12 14:56:46 UTC
OK, the theory is this:

kwallet5 tries to migrate kwallet(4) content, but fails/hangs because kwallet(4) is disabled...

so subsequent attempts by kf5 apps to use kwallet5 fail.

I'm going to reassign this to kf5-kwallet

Comment 11 Rex Dieter 2015-06-12 14:57:24 UTC
adjusting summary.

Comment 13 Fedora End Of Life 2016-07-19 14:37:31 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.