Describe the bug
During boot, kwalletd5-wrap dumps core: systemd-coredump[1204]: Process 1095 (.kwalletd5-wrap) of user 1000 dumped core.
This prevents kde wallet to authenticate together with my session, and I need to re-enter the password after logging in.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
kdewallet should not crash on boot
Additional context
Probably related to #68316.
@tenaf0 in that thread seems to have the same issue.
Display manager info:
Metadata
"x86_64-linux"Linux 5.4.8-hardened, NixOS, 20.03pre208261.9beb0d1ac2e (Markhor)yesyesnix-env (Nix) 2.3.2"""nixos-20.03pre208261.9beb0d1ac2e, nixpkgs-20.03pre207249.7e8454fb856"/nix/var/nix/profiles/per-user/root/channels/nixosMaintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
I'm getting the same thing on nixos-unstable. We probably need to run a git bisect to figure out when this originated.
I wouldn't mind picking this up, however I'm not sure how to do this exactly. Could you give me some pointers @matthewbauer ? (or anyone else ofc)
I wouldn't mind picking this up, however I'm not sure how to do this exactly. Could you give me some pointers @matthewbauer ? (or anyone else ofc)
To be honest, I'm as confused as you are. coredumpctl info PID and coredumpctl debug PID will give you some more information. It looks like the same thing as https://github.com/NixOS/nixpkgs/issues/68316 where QT_PLUGIN_PATH / QML2_IMPORT_PATH / XDG_DATA_DIRS / XDG_CONFIG_DIRS is set to the wrong value. Perhaps try replacing wrapQtApp with a export XDG_DATA_DIRS=... header in https://github.com/NixOS/nixpkgs/blob/master/pkgs/desktops/plasma-5/kwallet-pam.nix#L11.
How to install a package from my local repository? nix-build ./nixpkgs -A kwallet-pam works, but what's next? Should I install everything from my local repo using nixos-rebuild -I nixpkgs=$NIXPKGS switch while trying to find why the package crashes on every reboot? Or is there an option to only install the kwallet-pam package with different versions?
Would nix-env -f ./nixpkgs -iA kwallet-pam work?
Might have something to do with this update: https://cgit.kde.org/kwalletmanager.git/commit/?id=00dfdbecf60609d5a2a354d8cfadf152dc43b8d4
https://kde.org/announcements/kde-frameworks-5.56.0.php
That changelog lists this:
KAuth
Tell people they should mostly be using KF5::AuthCore
Compile our own helper against AuthCore and not Auth
Introduce KF5AuthCore
Quite likely a super overloaded issue, so not blocking for now. We'll need much more information to figure out what to do.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/go-no-go-meeting-nixos-20-03-markhor/6495/16
I believe @ttuegel mentioned in the GO / NO-GO that it's likely fixed in a plasma update (think it was said it works on master).
So perhaps a specific patch will/can be backported.
I'm not sure, but I'm running unstable and it's not fixed there.
rick@nixos-asus:~$ nix-info -m
- system: `"x86_64-linux"`
- host os: `Linux 5.5.13-hardened, NixOS, 20.09pre218613.ae6bdcc5358 (Nightingale)`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.3.3`
- channels(rick): `""`
- channels(root): `"nixos-20.09pre218613.ae6bdcc5358, nixpkgs"`
- nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
(not sure if what was mentioned was merged to staging)
Mm, just built a master (167ed907498ed6cd4cff1d5045fa9164d5ed8f1c) configuration (in a VM), but the issue still persists.
the used system config
# configuration.nix
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest_hardened;
networking.hostName = "nixos-testing"; # Define your hostname.
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
vim
htop
];
programs.bash.enableCompletion = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us";
# Enable touchpad support.
services.xserver.libinput.enable = true;
# Enable the KDE Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.rick = {
isNormalUser = true;
home = "/home/rick";
extraGroups = [ "wheel" "networkmanager" ];
initialPassword = "rikkert";
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "19.09"; # Did you read the comment?
}
I believe @ttuegel mentioned in the GO / NO-GO that it's likely fixed in a plasma update (think it was said it works on master).
Sorry, someone said that it worked on master, and I said _if_ it works on master, then it was the Plasma version bump because nothing addressing this issue has been merged.
A fix is available at https://github.com/NixOS/nixpkgs/pull/84689. If someone else can verify it works, I think we can merge it to master and then release-20.03.
Mm, it seems like it's still happening for me.
Just to be sure, here the steps I've taken to verify:
nixos-rebuild -I nixpkgs=/the/local/copy/of/fixed/nixpkgs -I nixos-config=configuration.nix build-vmresult/bin/run-nixos-testing-vm to the working directory and change the max memory from 384 to 2048, change the max processor cores from 1 to 4 (otherwise it's too slow to work with)journalctrl -p warnkwalletd5-wrap dumped core is still visible in the log
The used configuration
$ cat configuration.nix
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest_hardened;
networking.hostName = "nixos-testing"; # Define your hostname.
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
vim
htop
];
programs.bash.enableCompletion = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us";
# Enable touchpad support.
services.xserver.libinput.enable = true;
# Enable the KDE Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.rick = {
isNormalUser = true;
home = "/home/rick";
extraGroups = [ "wheel" "networkmanager" ];
initialPassword = "rikkert";
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "19.09"; # Did you read the comment?
}
Just as a sidenote, on my own system this is an issue because some applications immediately need the wallet to be unlocked. Of course, because the set of applications in the VM is limited (on purpose), it doesn't show the kwallet login screen immediately. However, I'm fairly certain it will show if I'd start a system that needs the keychain unlocked.
Ugh - it looks like I was missing some things. I definitely had it working at one point. Will retry to verify the fix actually works.
I have nothing productive to add here other than how excited I am at the prospect of having this fixed! Re-entering my password every time I log in is extremely frustrating.
Mm, it seems like it's still happening for me.
Just to be sure, here the steps I've taken to verify:
- Clone your nixpkgs at branch fix-77290 (40deb26)
- Use the configuration listed below to build a vm with
nixos-rebuild -I nixpkgs=/the/local/copy/of/fixed/nixpkgs -I nixos-config=configuration.nix build-vm- After the build, copy
result/bin/run-nixos-testing-vmto the working directory and change the max memory from384to2048, change the max processor cores from1to4(otherwise it's too slow to work with)- Start the VM, login (see default password in config) and check
journalctrl -p warn- The error
kwalletd5-wrap dumped coreis still visible in the logThe used configuration
Just as a sidenote, on my own system this is an issue because some applications immediately need the wallet to be unlocked. Of course, because the set of applications in the VM is limited (on purpose), it doesn't show the kwallet login screen immediately. However, I'm fairly certain it will show if I'd start a system that needs the keychain unlocked.
Thanks for testing! I think the issue is fixed in https://github.com/NixOS/nixpkgs/commit/8021f0a4a54b03bc9cd1f4c1d40e00fa28ec6ad9. If you could try that out it would be greatly appreciated.
I tested 8021f0a and beside the build issue (I needed to put back kwallet in the buildInputs), the wallet was correctly unlocked after login :)
I tried today to move my NixOS pin to 441a7da8080352881bb52f85e910d8855e83fc55 and ran into the same issue.
Most helpful comment
I tested 8021f0a and beside the build issue (I needed to put back kwallet in the buildInputs), the wallet was correctly unlocked after login :)