(Gelöst) Katastrophaler Zustand nach Server-Update

Begonnen von Prof. Dr. Peter Henning, 02 Januar 2025, 18:11:24

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Natürlich ist das keine Anfänger-Frage, aber ich denke, dass hier die meisten mitlesen.

Ich habe heute mit einem gut laufenden FHEM ein Server-Update von Ubuntu 20.04 auf 24.04 gemacht. Alles soweit gut - bis auf die Tatsache, dass plötzlich ein signifikanter Teil aller Zahlenwerte in Perl mit KOMMA statt DEZIMALPUNKT aus- und weitergegeben wird.

Beispiel: Eine Instanz des SYSMON-Moduls erzeugt ein Reading
ZitatLoad 0.25 0.24 0.26 CPU 5,05 0,04 0,44 94,34 0,08 0,00 0,06 (47,00 °C) RAM Total: 5775,00 MB, Used: 897,79 MB, 15,55 %, Free: 4690,04 MB ROOT Total: 57890 MB, Used: 15301 MB, 28 %, Available: 39617 MB at / ETH RX: 1,76 MB, TX: 13,04 MB, Total: 14,80 MB
Als Folge davon bekomme ich im Logfile tausende von Fehlermeldungen
Zitat2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in division (/) at (eval 37164) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in subroutine entry at (eval 37165) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in subroutine entry at (eval 37166) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in division (/) at (eval 37167) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in division (/) at (eval 37168) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,786" isn't numeric in subtraction (-) at (eval 37169) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "12,162" isn't numeric in subtraction (-) at (eval 37170) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,786" isn't numeric in numeric lt (<) at (eval 37171) line 4.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in numeric lt (<) at (eval 37171) line 4.
2025.01.02 18:05:23 1: PERL WARNING: Argument "8,348" isn't numeric in numeric lt (<) at (eval 37172) line 4.
2025.01.02 18:05:23 1: PERL WARNING: Argument "12,162" isn't numeric in numeric eq (==) at (eval 37176) line 5.
2025.01.02 18:05:23 1: PERL WARNING: Argument "8,348" isn't numeric in subtraction (-) at (eval 37176) line 8.
2025.01.02 18:05:23 1: PERL WARNING: Argument "21,0000" isn't numeric in addition (+) at (eval 37179) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "21,0000" isn't numeric in sprintf at (eval 37180) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "12,162" isn't numeric in sprintf at (eval 37181) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "8,348" isn't numeric in sprintf at (eval 37181) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,0000" isn't numeric in sprintf at (eval 37181) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in subroutine entry at (eval 37182) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,786" isn't numeric in subroutine entry at (eval 37182) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in sprintf at (eval 37182) line 1.
2025.01.02 18:05:23 1: PERL WARNING: Argument "0,000" isn't numeric in subroutine entry at (eval 37183) line 1.

Weil Zahlen mit Komma eben keine Perl-Zahlen sind.

Was um Himmels Willen kann Perl dazu bringen, das zu tun?

Wohl gemerkt: Gestern habe ich einen anderen Server upgedated. Gleiche Hardware, gleiches Update-Verfahren. Und dort ist diese Katasrophe nicht eingetreten.

Zitatroot@BeeOne:~# perl --version

This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-gnu-thread-multi
(with 44 registered patches, see perl -V for more detail)

LG

pah


Wernieman

#1
Was mir auf die schnelle einfällt:
Welche Localisation hast Du eingestellt? Server und User (fhem?) bezogen?

Sorry kann nur jetzt selber nicht auf die schnelle nachsehen, wie man es nachschaut, würde aber auf "locale" tippen ...

Und P.S.
Sind alle passenden locales installiert?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Prof. Dr. Peter Henning

War auch meine erste Vermutung

Auf dem defekten System
Zitatroot@BeeOne:~# locale
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
Auf dem parallel laufenden System, bei dem das Upgrade problemlos funktioniert hat:
Zitatroot@BeeTwo:~# locale
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
Nicht so wirklich unterschiedlich...

LG

pah

Prof. Dr. Peter Henning

Ich habe die ganzen locales noch einmal neu generiert - und siehe, der Fehler ist weg. Irre...

LG

pah