NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.34k stars 13.58k forks source link

kpasswdserver broken on 19.09 #72150

Closed florianjacob closed 4 years ago

florianjacob commented 4 years ago

Describe the bug As of 19.09, dolphin can't connect to smb network drives becasue kpasswdserver is unable to start up but chrashes kiod5.

To Reproduce Steps to reproduce the behavior:

  1. Open dolphin
  2. Enter smb://live.sysinternals.com/ in the address bar, or any other smb share in your network
  3. Dolphin displays a timeout or access denied, check journalctl -rb for the actual error

Expected behavior Dolphin shows the smb share's content, using stored passwords if available.

Screenshots journalctl -rb:

systemd[1]: systemd-coredump@116-5863-0.service: Succeeded.
systemd-coredump[5869]: Process 5862 (kiod5) of user 1000 dumped core.
xsession[1674]: kf5.kio.core: Can't communicate with kiod_kpasswdserver (for checkAuthInfo)!
xsession[1674]: kf5.kio.core: Can't communicate with kiod_kpasswdserver (for checkAuthInfo)!
dbus-daemon[1689]: [session uid=1000 pid=1687] Activated service 'org.kde.kpasswdserver' failed: Process org.kde.kpasswdserver received signal 6
systemd[1]: Started Process Core Dump (PID 5863/UID 0).
systemd[1]: systemd-coredump@115-5857-0.service: Succeeded.
systemd-coredump[5858]: Process 5856 (kiod5) of user 1000 dumped core.
org.kde.kpasswdserver[1689]: Available platform plugins are: wayland-org.kde.kwin.qpa.
org.kde.kpasswdserver[1689]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application m>
org.kde.kpasswdserver[1689]: qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
xsession[1674]: kio_smb: libsmb-auth-callback URL: QUrl("smb://live.sysinternals.com/IPC$")
xsession[1674]: kio_smb: auth_smbc_get_dat: set user= anonymous , workgroup= WORKGROUP  server= live.sysinternals.com , share= IPC$
dbus-daemon[1689]: [session uid=1000 pid=1687] Activating service name='org.kde.kpasswdserver' requested by ':1.125' (uid=1000 pid=5461 comm="sm>
xsession[1674]: kio_smb: libsmb-auth-callback URL: QUrl("smb://live.sysinternals.com/IPC$")
xsession[1674]: kio_smb: auth_smbc_get_dat: set user= anonymous , workgroup= WORKGROUP  server= live.sysinternals.com , share= IPC$
xsession[1674]: kf5.kio.core: Can't communicate with kiod_kpasswdserver (for checkAuthInfo)!
xsession[1674]: kf5.kio.core: Can't communicate with kiod_kpasswdserver (for checkAuthInfo)!
dbus-daemon[1689]: [session uid=1000 pid=1687] Activated service 'org.kde.kpasswdserver' failed: Process org.kde.kpasswdserver received signal 6
systemd[1]: Started Process Core Dump (PID 5857/UID 0).
org.kde.kpasswdserver[1689]: Available platform plugins are: wayland-org.kde.kwin.qpa.
org.kde.kpasswdserver[1689]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application m>
org.kde.kpasswdserver[1689]: qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
xsession[1674]: kio_smb: libsmb-auth-callback URL: QUrl("smb://live.sysinternals.com/IPC$")
xsession[1674]: kio_smb: auth_smbc_get_dat: set user= florian , workgroup= WORKGROUP  server= live.sysinternals.com , share= IPC$
xsession[1674]: kio_smb: updateCache  "/"
xsession[1674]: kio_smb: QUrl("smb://live.sysinternals.com/")
dbus-daemon[1689]: [session uid=1000 pid=1687] Activating service name='org.kde.kpasswdserver' requested by ':1.125' (uid=1000 pid=5461 comm="sm>
xsession[1674]: kio_smb: libsmb-auth-callback URL: QUrl("smb://live.sysinternals.com/IPC$")
xsession[1674]: kio_smb: auth_smbc_get_dat: set user= florian , workgroup= WORKGROUP  server= live.sysinternals.com , share= IPC$
xsession[1674]: kio_smb: updateCache  "/"
xsession[1674]: kio_smb: QUrl("smb://live.sysinternals.com/")
xsession[1674]: kio_smb: errNum 110
xsession[1674]: kio_smb: open  "smb://live.sysinternals.com/"   2   -1

Additional context I guess this is caused by https://github.com/NixOS/nixpkgs/issues/65399 but I don't know enough about where kpasswdserver actually lives and comes from to fix this myself.

Metadata

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: pkgs.dolphin
# a list of nixos modules affected by the problem
module: services.xserver.desktopManager.plasma5

cc @ttuegel

schmittlauch commented 4 years ago

This does not only happen when trying to connect to samba shares, in my case this issue is triggered by the baloo_file_extractor indexer running in background, frequently causing kiod5 to dump core.

org.kde.kpasswdserver[2482]: qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
org.kde.kpasswdserver[2482]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
org.kde.kpasswdserver[2482]: Available platform plugins are: wayland-org.kde.kwin.qpa.
systemd[1]: Started Process Core Dump (PID 18682/UID 0).
dbus-daemon[2482]: [session uid=1000 pid=2454] Activated service 'org.kde.kpasswdserver' failed: Process org.kde.kpasswdserver received signal 6
xsession[2334]: kf5.kio.core: Can't communicate with kiod_kpasswdserver (for queryAuthInfo)!
systemd-coredump[18683]: Process 18681 (kiod5) of user 1000 dumped core.
schmittlauch commented 4 years ago

This is the backtrace of /nix/store/8l2x0ggrah0xx3n9i7pgpmxihphgx62w-kio-5.61.0/libexec/kf5/kiod5 in my case:

#0  0x00007f295e7c3be0 in raise () from /nix/store/pnd2kl27sag76h23wa5kl95a76n3k9i3-glibc-2.27/lib/libc.so.6
#1  0x00007f295e7c4dc1 in abort () from /nix/store/pnd2kl27sag76h23wa5kl95a76n3k9i3-glibc-2.27/lib/libc.so.6
#2  0x00007f295ef0c087 in QMessageLogger::fatal(char const*, ...) const () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Core.so.5
#3  0x00007f295f6270db in QGuiApplicationPrivate::createPlatformIntegration() () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Gui.so.5
#4  0x00007f295f62759d in QGuiApplicationPrivate::createEventDispatcher() () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Gui.so.5
#5  0x00007f295f10e725 in QCoreApplicationPrivate::init() () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Core.so.5
#6  0x00007f295f628daf in QGuiApplicationPrivate::init() () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Gui.so.5
#7  0x00007f295fc25ed9 in QApplicationPrivate::init() () from /nix/store/jl5jwgayvfarvh1c2qdfv3wl5sc39iyk-qtbase-5.12.3/lib/libQt5Widgets.so.5
#8  0x0000000000403486 in main ()
ttuegel commented 4 years ago

We need to wrap libexec/kf5/kiod5 in kio.

schmittlauch commented 4 years ago

@ttuegel What exactly needs to be wrapped there?