FHEM Forum

FHEM => Sonstiges => Thema gestartet von: C_Herrmann am 02 Oktober 2019, 17:28:14

Titel: [gelöst]Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: C_Herrmann am 02 Oktober 2019, 17:28:14
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: rudolfkoenig am 02 Oktober 2019, 18:46:35
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: betateilchen am 02 Oktober 2019, 19:23:37
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
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: C_Herrmann am 02 Oktober 2019, 19:29:24
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: C_Herrmann am 02 Oktober 2019, 19:47:14
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: rudolfkoenig am 02 Oktober 2019, 19:51:21
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: CoolTux am 02 Oktober 2019, 19:57:29
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.
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: C_Herrmann am 02 Oktober 2019, 21:56:34
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
Titel: Antw:Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: rudolfkoenig am 02 Oktober 2019, 22:51:13
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.
Titel: [gelöst] Bootloop durch Eintrag :-) in holiday-Datei
Beitrag von: C_Herrmann am 03 Oktober 2019, 16:42:11
Danke Rudi,

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

Viele Grüße und noch einen schönen Feiertag.