pvestatd: got timeout - malformed JSON string at perl5/PVE/Ceph/Services.pm

sigmarb

Renowned Member
Nov 8, 2016
71
6
73
39
Hi folks,

I'm running a 4 node proxmox cluster with ceph with latest 7.1. No updates available.

One node fails to start pvestatd and some other services and ran in a timeout.

Dec 05 13:35:04 PX03 systemd[1]: Started PVE Status Daemon.
Dec 05 13:37:54 PX03 pvestatd[2055]: got timeout
Dec 05 13:38:08 PX03 pvestatd[2055]: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/PVE/Ceph/Services.pm line 56. File shows:

Code:
if ($version) {
     54         if (my $old = PVE::Cluster::get_node_kv("ceph-versions")) {
     55             my $nodename = PVE::INotify::nodename();
     56             $old = eval { decode_json($old->{$nodename}) };
     57             warn $@ if $@; # should not happen
     58             if (defined($old) && $old->{buildcommit} eq $buildcommit && $old->{version}->{str} eq $version) {
     59                 return; # up to date, nothing to do so avoid (not exactly cheap) broadcast
     60             }


Ceph cluster is healthy and does not report any issues. I ran out of ideas :/
any help is greatly appreciated.

thank you

stefan
 
Hi,
did this message only appear once after starting the machine? Then it shouldn't be a real issue, but only cosmetic. I've sent a fix a few days ago, but it hasn't been reviewed/applied yet. If you can see the correct versions for the Ceph Daemons in the Web UI then everything should be fine.