pvestatd keep crashing for no reason

LeSTagiaire

New Member
Jan 3, 2024
3
0
1
le-stagiaire.com
pvestatd service keep crashing after sepaming sdn status update error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Network/SDN/Zones.pm line 201.

I tested on another proxmox machine and I dont have this error.

PVE packages :
Code:
proxmox-ve: 8.1.0 (running kernel: 6.5.11-7-pve)
pve-manager: 8.1.3 (running version: 8.1.3/b46aac3b42da5d15)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.5: 6.5.11-7
proxmox-kernel-6.5.11-7-pve-signed: 6.5.11-7
ceph-fuse: 16.2.11+ds-2
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown: not correctly installed
ifupdown2: 3.2.0-1+pmx7
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.7
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.2-1
proxmox-backup-file-restore: 3.1.2-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.2
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.3
proxmox-widget-toolkit: 4.1.3
pve-cluster: 8.0.5
pve-container: 5.0.8
pve-docs: 8.1.3
pve-edk2-firmware: not correctly installed
pve-firewall: 5.0.3
pve-firmware: 3.9-1
pve-ha-manager: 4.0.3
pve-i18n: 3.1.5
pve-qemu-kvm: 8.1.2-6
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
 
WDYM by tested on another machine? Has there been a specific action on your side that lead to statd failing, that succeeds on a different instance?
Could you post the output of ifquery -a -c -o json, and the content of /etc/network/interfaces?
 
Has there been a specific action on your side that lead to statd failing, that succeeds on a different instance?
No, I only perform an install, the same as the first machine
the output of ifquery -a -c -o json
JSON:
[
  {
    "name": "lo",
    "addr_method": "loopback",
    "addr_family": "inet",
    "auto": true,
    "config": {},
    "config_status": {},
    "status": "pass"
  },
  {
    "name": "enp30s0",
    "addr_method": "manual",
    "addr_family": "inet",
    "auto": true,
    "config": {},
    "config_status": {},
    "status": "pass"
  },
  {
    "name": "vmbr0",
    "addr_method": "static",
    "addr_family": "inet",
    "auto": true,
    "config": {
      "bridge-ports": "enp30s0 (fwpr101p1) (fwpr105p1) (tap105i0) (tap106i0) (tap106i1) (fwpr102p0) (fwpr103p0) (fwpr110p0) (tap108i0) (fwpr101p0) (tap100i0)",
      "bridge-stp": "no",
      "bridge-fd": "0",
      "bridge-vlan-aware": "yes",
      "bridge-vids": "2-4094",
      "address": "192.168.1.2/24"
    },
    "config_status": {
      "bridge-ports": "pass",
      "bridge-stp": "pass",
      "bridge-fd": "pass",
      "bridge-vlan-aware": "pass",
      "bridge-vids": "",
      "address": "pass"
    },
    "status": "pass"
  },
  {
    "name": "vmbr0.2",
    "addr_method": "static",
    "addr_family": "inet",
    "auto": true,
    "config": {
      "address": "192.168.2.254/24"
    },
    "config_status": {
      "address": "pass"
    },
    "status": "pass"
  }
]
the content of /etc/network/interfaces
Code:
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto enp30s0
iface enp30s0 inet manual
        dns-nameservers 192.168.1.254
# dns-* options are implemented by the resolvconf package, if installed

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.2/24
        gateway 192.168.1.254
        bridge-ports enp30s0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

auto vmbr0.2
iface vmbr0.2 inet static
        address 192.168.2.254/24
 
Hm, statd reports that it gets an empty/malformed response from ifquery, but it looks perfectly fine.
Does the problem persist if you restart pvestatd now or only on system startup?
 
We got the same error if the packages ifupdown and enslave were installed instead of ifupdown2. This is possible according to package dependencies and no switch to ifupdown2 is forced upon PVE upgrade. The ifquery_check function in PVE/Network/SDN/Zones.pm calls ifquery -a -c -o json, which is not supported by ifquery in ifupdown. Switching to ifupdown2 solved the problem for me.
 

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!