[gelöst]Bootloop durch Eintrag :-) in holiday-Datei

Begonnen von C_Herrmann, 02 Oktober 2019, 17:28:14

Vorheriges Thema - Nächstes Thema

C_Herrmann

Hallo Rudi,

heute Nacht ist mein System in eine Boot-Schleife gegangen. Ursache war, dass ich einen Eintrag mit einer Klammer-rechts in der .holiday-Datei hatte.
Im log findet sich folgende Zeile ohne Datum-/Zeitangabe.
Unmatched ) in regex; marked by <-- HERE in m/^Urlaub :-) <-- HERE $/ at ./FHEM/95_holiday.pm line 219.

Bislang gab es keine Probleme mit dem Eintrag. Seltsam ist, dass ich fhem gestern nicht aktualisiert habe und meinen Raspi zuletzt vor 2 Tagen rebootet hatte.

Kannst Du das irgendwie fixen, falls sonst noch jemand auf die Idee kommen sollte, einen Text-Smiley :-) in der .holiday-Datei zu verwenden.
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen

rudolfkoenig

Das kann ich gerne fixen, aber erst will ich das Problem reproduzieren.

Wenn ich in die .holiday Datei "1 10-02 Urlaub :-)" Eintrage, dann steht bei mir im state und STATE Urlaub :-)
Getestet mit perl 5.18 und 5.24. Warnings im Log sehe ich keine.

betateilchen

Zitat von: rudolfkoenig am 02 Oktober 2019, 18:46:35
Getestet mit perl 5.18 und 5.24. Warnings im Log sehe ich keine.

Getestet mit perl 5.28 - ohne Fehler oder Warnungen
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

C_Herrmann

Kann es sein, dass der Fehler erst um 0:00 Uhr auftritt, wenn der Status im Frontend aktualisiert wird?

Hier ist der letzte Logeintrag vor dem Absturz um ca. 19:00 Uhr und der erste nach dem Absturz ist:
2019.10.02 00:00:03 1: Including fhem.cfg

Von da an habe ich den Bootloop.
Perl Version hier ist 5.28.
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen

C_Herrmann

Ich habe es gerade noch mal getestet und konnte es reproduzieren. Wenn ich den Smiley anhänge, kommt es zum Bootloop. Wird wohl an der v5.28 liegen.
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen

rudolfkoenig

ZitatKann es sein, dass der Fehler erst um 0:00 Uhr auftritt, wenn der Status im Frontend aktualisiert wird?
Es kann alles sein, mir fehlt nur die Vorstellung, wie.
Habe auch Tageswechsel simuliert, ohne Probleme.

ZitatWird wohl an der v5.28 liegen.
Habe gerade auch mit 5.28  alles durchgespielt, keine Warnung, kein Fehler.

CoolTux

Statt hier weiter ein zu raten könnte man vielleicht weiter kommen wenn man die Datei hätte. Und zwar komplett die Datei so richtig als Anhang. Eventuell hat sich ein Steuerzeichen eingeschlichen oder so.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

C_Herrmann

So, ich habe einiges ausprobiert und kann zumindest ein Teilergebnis mitteilen.

Dies führt zum Bootloop:
# Urlaube
# Format: 4 MM-DD MM-DD <Text>
4 10-02 12-30 Urlaub :-)


Dies nicht:
# Urlaube
# Format: 4 MM-DD MM-DD <Text>
4 10-02 12-30 Urlaub


Jetzt wird es aber misteriös, denn dies
# Urlaube
# Format: 4 MM-DD MM-DD <Text>
4 01-02 01-30 Urlaub :-)

führt nicht zum Bootloop.

Ich habe es mit verschiedenen Anfangs- und Enddaten ausprobiert, aber noch kein Muster erkennen können. Ich werde aber weiter nach einem Muster suchen.

Das Ganze habe ich mit Strawberry-Perl 5.28 und auch 5.24 nachstellen können. Die Boot-Schleife kommt nicht nach der Änderung der .holiday-Datei sondern erst nach einem
shutdown restart
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen

rudolfkoenig

Ich vermute einen Perl Bug in der regexp Bibliothek.
Z.Bsp. ist einmal "1 10-02 Urlaub :-)" ok, zweimal die gleiche Zeile nicht (stuerzt beim Zweiten ab).

Ich habe den Code jetzt umgebaut.

C_Herrmann

Danke Rudi,

Ursache war wohl, wenn 2 Ereignisse auf einen Tag fielen.

Viele Grüße und noch einen schönen Feiertag.
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen