KVM symbol lookup error in NixOS test

I tried to create a “simplest possible” NixOS test debugging script:

let
  pkgs = import (builtins.fetchTarball {
  name = "nixos-unstable-2024-06-05";
  url = "https://github.com/nixos/nixpkgs/archive/57610d2f8f0937f39dbd72251e9614b1561942d8.tar.gz";
  sha256 = "0k8az8vmfdk1n8xlza252sqk0hm1hfc7g67adin6jxqaab2s34n9";
}) { };
  nodeName = "debug";
in
pkgs.testers.runNixOSTest {
  name = "debug";
  nodes."${nodeName}" = { };
  testScript = ''
    breakpoint()
  '';
}

I then run it with "$(nix-build --attr driverInteractive path/to/debug.nix)/bin/nixos-test-driver". This works fine, but I can’t seem to interact with the VM at all:

>>> start_all()
start all VMs
debug: starting vm
mke2fs 1.47.0 (5-Feb-2023)
/nix/store/8iyw8vizw620cwwjic29hbsx4qlrvsck-qemu-8.2.4/bin/qemu-kvm: symbol lookup error: /nix/store/6yppwlgblqc2l3y3zaqmv4ch8skmxc5h-pipewire-1.2.0-jack/lib/libjack.so.0: undefined symbol: pw_log_topic_register

After that error message nothing else happens, and I have to Ctrl-c out of the blocking call. What’s going on? Why would this need a PipeWire symbol?

Updated nixpkgs to the latest and it worked:

let
  pkgs = import (builtins.fetchTarball {
    name = "nixos-unstable-2024-07-27";
    url = "https://github.com/nixos/nixpkgs/archive/ff934de1da331e61653685718ebf802e844a1833.tar.gz";
    sha256 = "sha256:100pr2xq06kzhbyzxfsyhmx1kxfnjvsl5fwv4idcv7x31xx3p06k";
  }) { };
  nodeName = "debug";
in
pkgs.testers.runNixOSTest {
  name = "debug";
  nodes.${nodeName} = { };
  testScript = ''
    breakpoint()
  '';
}

Perhaps the version from 2024-06-05 had some issues.

1 Like