[SOLVED] ZSF Snapshot: unable to parse value of 'runningcpu' - got undefined value

Foxi352

Active Member
Mar 22, 2018
3
0
41
Luxembourg
Hi,

I tried everything but i can't get SnapShots of my VM 100 to work. It is on ZFS.
The error is "unable to parse value of 'runningcpu' - got undefined value".

I need a hint that points me to the direction to continue digging ... I am out of ideas.

A second problem is that every failed snapshot try leaves a vm-<id>-state-<snapshot_name> file of ~ 50GB

Here my pveversion output and my machine config file.

pve-manager/6.2-10/a20769ed (running kernel: 5.4.44-2-pve)

Code:
args: -enable-kvm -device isa-applesmc,osk="XXX" -smbios type=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+vmx,+kvm_pv_unhalt,+kvm_pv_eoi,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check -device usb-kbd,bus=ehci.0,port=2
balloon: 0
bios: ovmf
boot: c
bootdisk: sata0
cores: 8
cpu: host,flags=+pdpe1gb;+hv-evmcs;+aes
hostpci1: 09:00,pcie=1
hostpci2: 04:00,pcie=1,x-vga=1
hostpci3: 00:14.0,pcie=1,rombar=0
hugepages: 1024
machine: pc-q35-4.0.1
memory: 24576
name: MacOS
net0: vmxnet3=CE:20:D5:F3:BA:C2,bridge=vmbr1,tag=100
numa: 1
onboot: 1
ostype: other
sata0: MacOS:vm-100-disk-0,cache=unsafe,size=850G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=XXXXXXX
sockets: 1
tablet: 0
vga: none
vmgenid: XXXXXX
 
Hi,
I can reproduce this here. I'll see if I can find the cause. Thanks for reporting!

EDIT: patch is here
 
Last edited:
Hi,
I can reproduce this here. I'll see if I can find the cause. Thanks for reporting!

EDIT: patch is here
Great. Thank you for your quick response. I applied the patch but still have the same error message. Do i have to restart the host for this to work ?

How can i get rid of all these 50GB -state- files from the failed snapshot attempts ? If i want to delete the files i get Cannot remove image, a guest with VMID '100' exists! You can delete the image from the guest's hardware pane
 
Reboot isn't necessary, it should be enough to restart the PVE daemon with systemctl restart pvedaemon.service.
To remove the state files, use pvesm free <storage-ID>:vm-100-state-<name of failed attempt> or remove them manually.
 
Hi,
I can reproduce this here. I'll see if I can find the cause. Thanks for reporting!

EDIT: patch is here
Hello.
I faced the same problem when adding args -cpu host,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,model-id='Intel(R) Xeon(R) CPU D-1537 @ 2.10GHz',-vmx
I tried editing the CPUConfig.pm file as follows but it still didn't fix the problem.
our $qemu_cmdline_cpu_re = qr/^((?>[+-]?[\w\-\._='@]+,?)+)$/;

Here my pveversion output and my machine config file.
pve-manager/8.0.4/d258a813cfa6b390 (running kernel: 6.2.16-15-pve)

Code:
acpi: 1
agent: 1
args: -cpu max,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,model-id='Intel(R) Xeon(R) CPU D-1537 @ 2.10GHz',-vmx -smbios type=1,product='XG-1537 1U',manufacturer=Netgate
balloon: 128
boot: order=scsi0
cores: 2
hotplug: network,usb
machine: q35
memory: 256
meta: creation-qemu=7.1.0,ctime=1673178426
name: OpenWrt
net0: virtio=76:F6:38:90:83:06,bridge=vmbr1,firewall=1,tag=110
net1: virtio=4E:62:58:FA:FD:74,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: NVME-thin:vm-110-disk-0,discard=on,iothread=1,size=124M
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=2f939666-485f-43e4-a0f4-38b02ac139bd
sockets: 1
tablet: 0
tags:
vga: serial0
vmgenid: 187940c9-494a-486b-a5d9-43358f7f034c
 
Hi,
Hello.
I faced the same problem when adding args -cpu host,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,model-id='Intel(R) Xeon(R) CPU D-1537 @ 2.10GHz',-vmx
custom args are just provided as an escape hatch, there's no guarantee Proxmox VE will handle everything correctly.

I tried editing the CPUConfig.pm file as follows but it still didn't fix the problem.
our $qemu_cmdline_cpu_re = qr/^((?>[+-]?[\w\-\._='@]+,?)+)$/;
I think your still missing the parentheses ( ) from Intel(R) Xeon(R) as allowed characters.

But feel free to open up a feature request on our bug tracker and please describe your use case there (i.e. why you need the explicit model-id): https://bugzilla.proxmox.com/
 
Hi,

custom args are just provided as an escape hatch, there's no guarantee Proxmox VE will handle everything correctly.


I think your still missing the parentheses ( ) from Intel(R) Xeon(R) as allowed characters.

But feel free to open up a feature request on our bug tracker and please describe your use case there (i.e. why you need the explicit model-id): https://bugzilla.proxmox.com/
Great news! I managed to resolve the issue. I updated the $qemu_cmdline_cpu_re regex pattern to include parentheses and additional allowed characters, like so:
our $qemu_cmdline_cpu_re = qr/^((?>[+-]?[a-zA-Z0-9_ \-\._=@()]+,?)+)$/;

This change successfully fixed the problem I was facing when adding the custom args. Thanks for your earlier suggestion, and now everything is working as expected.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!