After update, nothing listening on port 8006: Unrecognized character \x7F in Firewall.pm

Greggy

New Member
Jan 4, 2017
11
0
1
44
Hi,

I just updated proxmox and I ended up with the system not coming back up on port 8006. Based on the output below, I found the solution for many to run apt dist-upgrade. Although I did run pveupgrade, I did try it again with apt dist-upgrade, but all seems to be fine:

root@proxmox:~# apt dist-upgrade
=========================
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


root@proxmox:~# systemctl status pvedaemon.service
========================================
● pvedaemon.service - PVE API Daemon
Loaded: loaded (/lib/systemd/system/pvedaemon.service; enabled)
Active: failed (Result: exit-code) since Mon 2017-05-08 12:31:48 CEST; 9min ago
Process: 3125 ExecStart=/usr/bin/pvedaemon start (code=exited, status=255)

May 08 12:31:48 proxmox pvedaemon[3125]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/Cluster.pm line 15.
May 08 12:31:48 proxmox pvedaemon[3125]: Compilation failed in require at /usr/share/perl5/PVE/API2.pm line 13.
May 08 12:31:48 proxmox pvedaemon[3125]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2.pm line 13.
May 08 12:31:48 proxmox pvedaemon[3125]: Compilation failed in require at /usr/share/perl5/PVE/Service/pvedaemon.pm line 8.
May 08 12:31:48 proxmox pvedaemon[3125]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/Service/pvedaemon.pm line 8.
May 08 12:31:48 proxmox pvedaemon[3125]: Compilation failed in require at /usr/bin/pvedaemon line 11.
May 08 12:31:48 proxmox pvedaemon[3125]: BEGIN failed--compilation aborted at /usr/bin/pvedaemon line 11.
May 08 12:31:48 proxmox systemd[1]: pvedaemon.service: control process exited, code=exited status=255
May 08 12:31:48 proxmox systemd[1]: Failed to start PVE API Daemon.
May 08 12:31:48 proxmox systemd[1]: Unit pvedaemon.service entered failed state.

root@proxmox:~# pveversion -v
=======================
proxmox-ve: 4.4-87 (running kernel: 4.4.59-1-pve)
pve-manager: 4.4-13 (running version: 4.4-13/7ea56165)
pve-kernel-4.4.35-1-pve: 4.4.35-77
pve-kernel-4.4.35-2-pve: 4.4.35-79
pve-kernel-4.4.59-1-pve: 4.4.59-87
pve-kernel-4.4.19-1-pve: 4.4.19-66
pve-kernel-4.4.49-1-pve: 4.4.49-86
lvm2: 2.02.116-pve3
corosync-pve: 2.4.2-2~pve4+1
libqb0: 1.0.1-1
pve-cluster: 4.0-49
qemu-server: 4.0-110
pve-firmware: 1.1-11
libpve-common-perl: 4.0-94
libpve-access-control: 4.0-23
libpve-storage-perl: 4.0-76
pve-libspice-server1: 0.12.8-2
vncterm: 1.3-2
pve-docs: 4.4-4
pve-qemu-kvm: 2.7.1-4
pve-container: 1.0-99
pve-firewall: 2.0-33
pve-ha-manager: 1.0-40
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u3
lxc-pve: 2.0.7-4
lxcfs: 2.0.6-pve1
criu: 1.6.0-1
novnc-pve: 0.5-9
smartmontools: 6.5+svn4324-1~pve80
zfsutils: 0.6.5.9-pve15~bpo80

From journalctl:
============
May 08 12:31:49 proxmox systemd[1]: Starting PVE SPICE Proxy Server...
May 08 12:31:49 proxmox spiceproxy[3134]: "my" variable $rules masks earlier declaration in same scope at /usr/share/perl5/PVE/Firewall.pm line 2912.
May 08 12:31:49 proxmox spiceproxy[3134]: "my" variable $rule masks earlier declaration in same statement at /usr/share/perl5/PVE/Firewall.pm line 2913.
May 08 12:31:49 proxmox spiceproxy[3134]: Unrecognized character \x7F; marked by <-- HERE after f ($rule-><-- HERE near column 13 at /usr/share/perl5/PVE/Firewall.pm line 2913.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/API2/Qemu.pm line 25.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/Qemu.pm line 25.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/HA/Resources/PVEVM.pm line 10.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/HA/Resources/PVEVM.pm line 10.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/VZDump.pm line 19.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/VZDump.pm line 19.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/API2/Backup.pm line 15.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/Backup.pm line 15.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/API2/Cluster.pm line 15.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/Cluster.pm line 15.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/API2.pm line 13.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2.pm line 13.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/share/perl5/PVE/Service/spiceproxy.pm line 13.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/Service/spiceproxy.pm line 13.
May 08 12:31:49 proxmox spiceproxy[3134]: Compilation failed in require at /usr/bin/spiceproxy line 10.
May 08 12:31:49 proxmox spiceproxy[3134]: BEGIN failed--compilation aborted at /usr/bin/spiceproxy line 10.
May 08 12:31:49 proxmox systemd[1]: spiceproxy.service: control process exited, code=exited status=255
May 08 12:31:49 proxmox systemd[1]: Failed to start PVE SPICE Proxy Server.
May 08 12:31:49 proxmox systemd[1]: Unit spiceproxy.service entered failed state.

When checking the Firewall.pm around line 2913, I found these messed up lines:
2912 fore!ch my $rule (@$rules) {
2913 if ($rule->^?typm} eq 'ing || $rule->{type} eq 'out' |x $rule->{type} eq 'group') {
2914 $raw .= '\' if defined($rul%->{enable})^@&& !$rule->{eNable};
2915 $raw .= uc($rulm->{type});

How can I reinstall this Firewall.pm file and does someone knows how this could happen?

Thanks a lot!
 
"apt-get install --reinstall pve-firewall" - but that looks like file corruption, so the question is what else is corrupted? did the node crash during the upgrade?
 
Thanks a lot for your fast reply; all is working fine now. No, it didn't crash, neither did I have a full disk. Can it be a block corruption on disk level?
 
Thanks a lot for your fast reply; all is working fine now. No, it didn't crash, neither did I have a full disk. Can it be a block corruption on disk level?

sure. can be faulty RAM, disk, cable, controller, file system bug, ... ;) most likely one of the first two though..
 

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!