XavierBerger / RPi-Monitor

Real time monitoring for embedded devices
https://xavierberger.github.io/RPi-Monitor-docs/index.html
GNU General Public License v3.0
1.16k stars 176 forks source link

Perl error on Raspberry pi bullseye 64-bit #393

Open racedowling opened 2 years ago

racedowling commented 2 years ago

I get this log error each time rpimonitor runs: Use of uninitialized value in vec at /usr/share/perl5/HTTP/Daemon.pm line 111. sysread() on closed filehandle GEN1405 at /usr/share/perl5/HTTP/Daemon.pm line 344.

I have reinstalled rpi 2.13 and all the perl modules. Rpimonitor is working. I don't know if this is an rpimonitor or a perl issue. Any clues would be appreciated.

mushu999 commented 10 months ago

Sorry for the thread necro. You didn't state what version of Perl you have installed but starting with version 5.32 any string argument to vec() containing a codepoint over 0xFF is not going to work. That use case was deprecated beginning in Perl 5.28...that being said, I have not tried to upgrade from Buster to Bullseye so no way to test this and see what the problem is.

mushu999 commented 10 months ago

Also, see this issue which shows it works in Bullseye: https://github.com/XavierBerger/RPi-Monitor/issues/385

Vyacheslav-S commented 7 months ago

I partially solved this problem by changing rpimonitord.service. Everything is recorded in a log file:

[Unit]
Description=RPi-Monitor daemon
Before=multi-user.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
Restart=on-failure
KillMode=mixed
Nice=19
ExecStart=/usr/bin/rpimonitord
ExecStop=/bin/kill $MAINPID
StandardOutput=append:/var/log/rpimonitor.log
StandardError=append:/var/log/rpimonitor.log

[Install]
WantedBy=multi-user.target

Or without writing errors to disk:

[Unit]
Description=RPi-Monitor daemon
Before=multi-user.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
Restart=on-failure
KillMode=mixed
Nice=19
ExecStart=/usr/bin/rpimonitord
ExecStop=/bin/kill $MAINPID
StandardOutput=append:/var/log/rpimonitor.log
StandardError=append:/dev/null

[Install]
WantedBy=multi-user.target