FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Eisingstone am 08 Oktober 2014, 12:09:33

Titel: Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Eisingstone am 08 Oktober 2014, 12:09:33
Hallo zusammen,

habe heute mal das Global LogFile der aktuellen Woche gecheckt und festgestellt das diese jetzt nach 2 Tagen schon ~ 130 MB groß ist.
Folgender Teil kommt dauernd vor und müllt das Log voll.


2014.10.08 11:45:36 1: PERL WARNING: Use of uninitialized value $key in hash element at ./FHEM/57_Calendar.pm line 89.
2014.10.08 11:45:36 3: stacktrace:
2014.10.08 11:45:36 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (89)
2014.10.08 11:45:36 3:     ICal::Entry::addproperty            called by ./FHEM/57_Calendar.pm (137)
2014.10.08 11:45:36 3:     ICal::Entry::parseSub               called by ./FHEM/57_Calendar.pm (135)
2014.10.08 11:45:36 3:     ICal::Entry::parseSub               called by ./FHEM/57_Calendar.pm (135)
2014.10.08 11:45:36 3:     ICal::Entry::parseSub               called by ./FHEM/57_Calendar.pm (109)
2014.10.08 11:45:36 3:     ICal::Entry::parse                  called by ./FHEM/57_Calendar.pm (923)
2014.10.08 11:45:36 3:     main::Calendar_GetUpdate            called by ./FHEM/57_Calendar.pm (798)
2014.10.08 11:45:36 3:     main::Calendar_Wakeup               called by ./FHEM/57_Calendar.pm (1086)
2014.10.08 11:45:36 3:     main::Calendar_Define               called by fhem.pl (2902)
2014.10.08 11:45:36 3:     main::CallFn                        called by fhem.pl (1570)
2014.10.08 11:45:36 3:     main::CommandDefine                 called by fhem.pl (966)
2014.10.08 11:45:36 3:     main::AnalyzeCommand                called by fhem.pl (847)
2014.10.08 11:45:36 3:     main::AnalyzeCommandChain           called by fhem.pl (1101)
2014.10.08 11:45:36 3:     main::CommandInclude                called by fhem.pl (1201)
2014.10.08 11:45:36 3:     main::CommandRereadCfg              called by fhem.pl (966)
2014.10.08 11:45:36 3:     main::AnalyzeCommand                called by fhem.pl (847)
2014.10.08 11:45:36 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (1918)
2014.10.08 11:45:36 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1716)
2014.10.08 11:45:36 3:     main::FW_style                      called by ./FHEM/01_FHEMWEB.pm (736)
2014.10.08 11:45:36 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.08 11:45:36 3:     main::FW_Read                       called by fhem.pl (2902)
2014.10.08 11:45:36 3:     main::CallFn                        called by fhem.pl (594)



Hat jemand eine Ahnung woran das liegen kann und evtl. eine Lösung dafür?
Update wird regelmäßig gemacht.

Update: LogFile von letzter Woche gescheckt, dort sind keine Probleme erkennbar.


Danke und besten Gruß
Stefan
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Dr. Boris Neubert am 09 Oktober 2014, 10:28:55
Hallo,

ich schaue mir gelegentlich an, was die Perl-Warnung auslösen könnte.

Grüße
Boris
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Eisingstone am 09 Oktober 2014, 10:34:17
Hallo Boris,

vielen dank und sorry das ich den falsche Threat genommen habe, mir ist nur aufgefallen das seit Montag diese Meldungen aufgetaucht sind.
Natürlich können auch die Änderungen von Rudi jetzt noch mit reinkommen und so das LogFile nahezu explodieren lassen.
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: betateilchen am 09 Oktober 2014, 10:44:02
Zitat von: Dr. Boris Neubert am 09 Oktober 2014, 10:28:55
ich schaue mir gelegentlich an, was die Perl-Warnung auslösen könnte.

Hallo Boris,
der Fehler kommt aus der addproperty() und tritt auf, wenn Deine regex auf $line keinen Wert für $key liefert.


  my ($key,$parts,$parameter);
  if($line =~ /^([\w\d\-]+)(;(.*))?:(.*)$/) {
    $key= $1;


Dann ist die Variable $key zwar definiert, aber ohne Inhalt. Ein paar Zeilen später versuchst Du dann aber, mit diesem Wert zu arbeiten:


  $self->{properties}{$key}= {
      PARTS => "$parts",
      VALUE => "$parameter"
  };

Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Dr. Boris Neubert am 09 Oktober 2014, 13:23:53
Danke für die Voranalyse. Ich denke, dass die geschilderte Problematik bei Fortsetzungszeilen auftritt.

Das ICal-Format erlaubt Fortsetzungszeilen, die ich aber nicht konsequent auswerte. Insbesondere die Terminbeschreibungen führen zu Zeilenumbrüchen, die dann nicht dem vom Modul erwarteten Format entsprechen. Ich habe mir das schon notiert in meiner Todo-Abteilung im Kopf des Moduls, weil ich dazu die Fehlermeldungen auch bekomme.

Durch die Ausgabe der Stacktrace explodieren jetzt die Logs. Damit müssen wir erstmal leben.

OT: es wäre besser, Stacktrace nur optional zu haben, attr global stacktrace 1. Ich schlage das mal vor.

Grüße
Boris
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Dietmar63 am 09 Oktober 2014, 17:59:59
Wenn es optional gemacht wird schalten alle den stacktrace ab, und die Fehlermeldungen verschwinden und nichts wird gefixt. Das Problem wird uns noch einige Tage begleiten,. Dann sollte das gröbste behoben sein.

Die Welle kommt im Moment nur ganz langsam, weil nicht jeder Updates durchführt.

Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: betateilchen am 09 Oktober 2014, 18:13:10
Die Diskussion ist obsolet, da Rudi das Abschalten (glücklicherweise) bereits eingebaut hat.
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Dietmar63 am 09 Oktober 2014, 18:28:35
ok, ok!

hatte ich noch nicht gesehen.
Vielleicht hat der eine oder andere wirklich ein wenig viel damit zu tun, was nun hoch kommt.

Man kann ja auch das Gerät solange daktivieren, bis ein Fix da ist.

Für Anfänger und uns dürfte es eine große Hilfe sein, wenn der stacktrace standardmäßig eingeschaltet ist und sie sich an erste Notifys heranwagen.
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: betateilchen am 09 Oktober 2014, 22:05:24
Zitat von: Dr. Boris Neubert am 09 Oktober 2014, 13:23:53
Danke für die Voranalyse. Ich denke, dass die geschilderte Problematik bei Fortsetzungszeilen auftritt.

Im Moment reicht es offenbar, die bereits genannte Zeile wie folgt zu ändern:

  my ($key,$parts,$parameter) = ("","","");

Damit bleiben bei mir die unerwünschten Warnungen auch bei aktiviertem stacktrace aus.
Titel: Antw:Fehlermeldungen im Log aus 57_Calendar.pm
Beitrag von: Dr. Boris Neubert am 11 Oktober 2014, 19:41:12
Hallo,

Calendar verarbeitet nun Fortsetzungszeilen (Zeilen, die mit einem Whitespace beginnen werden ohne CR oder LF an die vorige Zeile angehängt).

Entspricht das Ergebnis nicht der erwarteten Syntax, wird die Zeile weggeworfen.

Damit erscheinen bei mir keine Meldungen mehr im Log.

Eingecheckt. Morgen per Update verfügbar.

Grüße
Boris