QEMU/KVM issues after apt upgrade

dalraz

New Member
Apr 21, 2024
3
0
1
Good Morning/Afternoon.

I have encountering an issues after updating proxmox with apt.

I am seeing the following in the webui

Code:
usr/bin/kvm: symbol lookup error: /lib/x86_64-linux-gnu/libgfrpc.so.0: undefined symbol: dict_getn
command '/usr/bin/kvm --version' failed: exit code 127
TASK ERROR: Detected old QEMU binary ('unknown', at least 3.0 is required)

and this in the console

Code:
root@pve:~# kvm
kvm: symbol lookup error: /lib/x86_64-linux-gnu/libgfrpc.so.0: undefined symbol: dict_getn
root@pve:~#

I have tried to reinstall without any luck.

apt install --reinstall pve-qemu-kvm libgfrpc0


Version information
Code:
root@pve:~# pveversion -v
proxmox-ve: 8.1.0 (running kernel: 6.5.13-5-pve)
pve-manager: 8.1.10 (running version: 8.1.10/4b06efb5db453f29)
proxmox-kernel-helper: 8.1.0
pve-kernel-5.15: 7.4-6
pve-kernel-5.13: 7.1-9
pve-kernel-5.11: 7.0-10
proxmox-kernel-6.5.13-5-pve-signed: 6.5.13-5
proxmox-kernel-6.5: 6.5.13-5
proxmox-kernel-6.5.13-3-pve-signed: 6.5.13-3
proxmox-kernel-6.5.13-1-pve-signed: 6.5.13-1
proxmox-kernel-6.2.16-20-pve: 6.2.16-20
proxmox-kernel-6.2: 6.2.16-20
pve-kernel-5.15.116-1-pve: 5.15.116-1
pve-kernel-5.13.19-6-pve: 5.13.19-15
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.11.22-7-pve: 5.11.22-12
pve-kernel-5.11.22-4-pve: 5.11.22-9
ceph-fuse: 16.2.11+ds-2
corosync: 3.1.7-pve3
criu: 3.17.1-3
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx8
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.0
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.3
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.5
libpve-cluster-perl: 8.0.5
libpve-common-perl: 8.1.1
libpve-guest-common-perl: 5.0.6
libpve-http-server-perl: 5.0.6
libpve-network-perl: 0.9.6
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.1.5
libspice-server1: 0.15.1-1
lvm2: 2.03.22-1+b1
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.1.5-1
proxmox-backup-file-restore: 3.1.5-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.5
proxmox-widget-toolkit: 4.1.5
pve-cluster: 8.0.5
pve-container: 5.0.9
pve-docs: 8.1.5
pve-edk2-firmware: 4.2023.08-4
pve-firewall: 5.0.3
pve-firmware: 3.11-1
pve-ha-manager: 4.0.3
pve-i18n: 3.2.1
pve-qemu-kvm: 8.1.5-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.1.1
smartmontools: 7.4-2
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.3-pve2

I find the following in the journal will trying to start a vm

Code:
Apr 21 12:01:32 pve pvedaemon[3345]: <root@pam> starting task UPID:pve:00029FE5:0001D517:6625385C:qmstart:1035:root@pam:
Apr 21 12:01:32 pve pvedaemon[172005]: command '/usr/bin/kvm --version' failed: exit code 127
Apr 21 12:01:32 pve pvedaemon[172005]: Detected old QEMU binary ('unknown', at least 3.0 is required)
Apr 21 12:01:32 pve pvedaemon[3345]: <root@pam> end task UPID:pve:00029FE5:0001D517:6625385C:qmstart:1035:root@pam: Detected old QEMU binary ('unknown', at least 3.0 is required)

I'm at a loss at what to look for next or try, any help would be greatly appreciated.


Thank you
 
I wasn't able to find a solution to the problem so I did a reinstall of Proxmox.

I backup/restored the configuration as outlined here, https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)#_recovery

I was pleasantly surprised everything just worked after the restore, I was prepared for a configuration fight.

this are now the configuration versions

Code:
root@pve:~# kvm -version
QEMU emulator version 8.1.5 (pve-qemu-kvm_8.1.5-2)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
root@pve:~# pveversion -v
proxmox-ve: 8.1.0 (running kernel: 6.5.11-8-pve)
pve-manager: 8.1.4 (running version: 8.1.4/ec5affc9e41f1d79)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.5: 6.5.11-8
proxmox-kernel-6.5.11-8-pve-signed: 6.5.11-8
ceph-fuse: 17.2.7-pve2
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx8
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.0
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.0.7
libpve-apiclient-perl: 3.3.1
libpve-common-perl: 8.1.0
libpve-guest-common-perl: 5.0.6
libpve-http-server-perl: 5.0.5
libpve-network-perl: 0.9.5
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.0.5
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 5.0.2-4
lxcfs: 5.0.3-pve4
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.1.4-1
proxmox-backup-file-restore: 3.1.4-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.4
proxmox-widget-toolkit: 4.1.3
pve-cluster: 8.0.5
pve-container: 5.0.8
pve-docs: 8.1.3
pve-edk2-firmware: 4.2023.08-3
pve-firewall: 5.0.3
pve-firmware: 3.9-1
pve-ha-manager: 4.0.3
pve-i18n: 3.2.0
pve-qemu-kvm: 8.1.5-2
pve-xtermjs: 5.3.0-3
qemu-server: 8.0.10
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.2-pve1
 
apt upgrade was your problem.
NEVER do apt upgrade, ALWAYS do apt dist-upgrade or apt full-upgrade
doing apt upgradewill break things as it doesnt update all dependencies and other things.
 
Good to know, thank you for that bit of information I didn't realize that apt update could of been the issue.
 
Good to know, thank you for that bit of information I didn't realize that apt update could of been the issue.
"apt upgrade" is the problem, not "apt update"

apt update is to update th packages list

apt upgrade, upgrade only installed packages but don't install newer dependencies

apt dist-upgrade|full-upgrade upgrade installed packages and install newer dependencies.




if you are not sure,you can also use the GUI, it's doing it fine ;)
 
I don't suppose there is any way to fix this? I want to avoid a fresh install as I've got an Home Assistant VM that I can't create a backup of because it shows the same error
 
1.uninstall proxmox-ve
touch '/please-remove-proxmox-ve'
apt purge proxmox-ve
2.check QEMU emulator version no error
qemu-system-x86_64 --version
3.uninstall the old kvm version
apt remove --purge qemu-kvm qemu-system-x86 qemu-utils libglusterfs0
4.install proxmox-ve,it will autoinstall the current kvm version
apt install proxmox-ve
 
touch '/please-remove-proxmox-ve'
apt purge proxmox-ve

kvm --version
QEMU emulator version 7.2.15 (Debian 1:7.2+dfsg-7+deb12u12)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
root@haoka:~# qemu-system-x86_64 --version
QEMU emulator version 7.2.15 (Debian 1:7.2+dfsg-7+deb12u12)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
apt remove --purge qemu-kvm qemu-system-x86 qemu-utils libglusterfs0
Purging configuration files for pve-qemu-kvm (9.2.0-5) ...
Purging configuration files for glusterfs-common (10.3-5) ...
Removing group `gluster' ...
groupdel: cannot remove the primary group of user 'gluster'
delgroup: `/sbin/groupdel gluster' returned error code 8. Exiting.
Processing triggers for initramfs-tools (0.145) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-9-pve
/etc/initramfs/post-update.d//proxmox-boot-sync: 10: /usr/sbin/proxmox-boot-tool: not found
run-parts: /etc/initramfs/post-update.d//proxmox-boot-sync exited with return code 127
[B]dpkg:[/B] error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
initramfs-tools
[B]E: [/B]Sub-process /usr/bin/dpkg returned an error code (1)


apt install proxmox-ve

qemu-system-x86_64 --version
QEMU emulator version 9.2.0 (pve-qemu-kvm_9.2.0-5)
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers