[Gelöst]fhem.pl Warnung im Log

Begonnen von Tommy82, 04 Dezember 2014, 17:53:36

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Da hat irgendein Modulautor undef in einem der Arrays geschrieben.
list gibt ab sofort undef an der Stelle raus. Wenn Du das siehst, bitte Modulautor benachrichtigen.

Tommy82

Hi,
hab dann heute nochmal  Meldungen im LOG
2016.12.26 19:06:07.775 1: PERL WARNING: substr outside of string at fhem.pl line 717.
2016.12.26 19:06:07.776 1: stacktrace:
2016.12.26 19:06:07.777 1:     main::__ANON__                      called by fhem.pl (717)
2016.12.26 19:06:11.195 0: Übergebener channel: Pro7
2016.12.26 19:06:11.196 0: channel ohne _time: Pro7
2016.12.26 19:06:11.196 0: lcchannel: pro7
2016.12.26 19:06:11.197 0: channel aus channellist: ProSieben_HD
2016.12.26 19:06:11.200 3: ENIGMA2 set VU_Ultimo channel ProSieben_HD
2016.12.26 19:06:13.155 1: PERL WARNING: substr outside of string at fhem.pl line 717.
2016.12.26 19:06:13.156 1: stacktrace:
2016.12.26 19:06:13.156 1:     main::__ANON__                      called by fhem.pl (717)


Da Fernsehe Programme angezeigt werden kann es eigentlich nur mit dem Enigma Modul oder mit dem readingsGroup zusammenhängen welche mir mir das aktuelle TV Programm darstellt welches über HTTPMOD geholt wird
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Hi,
hab heute morgen dann nochmal eine Meldung:
2017.01.05 05:51:30.007 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.05 05:51:30.007 1: stacktrace:
2017.01.05 05:51:30.008 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.05 05:57:29.674 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.05 05:57:29.675 1: stacktrace:
2017.01.05 05:57:29.675 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.05 06:03:29.836 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.05 06:03:29.837 1: stacktrace:
2017.01.05 06:03:29.837 1:     main::__ANON__                      called by fhem.pl (718)
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

rudolfkoenig

Kannst du bitte in Zeile 719 Folgendes einbauen:
Log 1,"STRANGE: $ret vs. ".length($wb) if($ret>=length($wb) || $ret<0);

Tommy82

Hab es eingefügt, sieht dann so aus:
else {
            $hash->{$wbName} = substr($wb, $ret);
         Log 1,"STRANGE: $ret vs. ".length($wb) if($ret>=length($wb) || $ret<0); }
        }/code]

Mal sehen was passiert
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Heute habe ich dann nochmal eine Meldung:
2017.01.15 16:42:30.997 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 16:42:30.997 1: stacktrace:
2017.01.15 16:42:30.998 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 16:44:02.767 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 16:44:02.770 1: stacktrace:
2017.01.15 16:44:02.771 1:     main::__ANON__                      called by fhem.pl (718)
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

rudolfkoenig

Zweimal } kommt mir komisch vor. Und instinktiv wuerde ich die Pruefung vor der Zeile 719 / substr() einbauen, obwohl ich das nicht begruenden kann. Jedenfalls scheint die Meldung nicht zu kommen, oder du hast es vergessen sie uns mitzuteilen. Und vom stacktrace werde ich nicht wirklich schlau.

Tommy82

#52
Ich hab plötzlich noch mehr Meldungen, es scheint als ob es mit alexa-fhem zusammen hängen würde, da ich da im Moment bei bin, Dummys anzulegen um über das enigma2 Modul Sender umzuschalten
017.01.15 20:12:27.960 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 20:12:49.167 3: ENIGMA2 set VU_Ultimo channel RTL
2017.01.15 20:13:02.768 3: ENIGMA2 set VU_Ultimo channel ProSieben_HD
2017.01.15 20:13:04.654 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 20:13:04.654 1: stacktrace:
2017.01.15 20:13:04.655 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 20:13:04.659 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 20:13:04.659 1: stacktrace:
2017.01.15 20:13:04.660 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 20:13:52.371 3: ENIGMA2 set VU_Ultimo channel RTL
2017.01.15 20:13:54.141 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 20:13:54.142 1: stacktrace:
2017.01.15 20:13:54.142 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 20:13:54.148 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 20:13:54.148 1: stacktrace:
2017.01.15 20:13:54.149 1:     main::__ANON__                      called by fhem.pl (718)
2017.01.15 20:14:14.418 3: ENIGMA2 set VU_Ultimo channel ProSieben_HD


Oder ist das ein Zufall das sie VU_Ultimo dazwischen auftauchen

Die Zeile 717 sieht jetzt so aus:
else { Log 1,"STRANGE: $ret vs. ".length($wb) if($ret>=length($wb) || $ret<0);
            $hash->{$wbName} = substr($wb, $ret);
          }


Nach einem Neustart hab ich dann diese Meldung:
2017.01.15 21:02:55.333 1: STRANGE: 9418 vs. 9414
2017.01.15 21:02:55.334 1: PERL WARNING: substr outside of string at fhem.pl line 718.
2017.01.15 21:02:55.335 1: stacktrace:
2017.01.15 21:02:55.335 1:     main::__ANON__                      called by fhem.pl (718)
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

rudolfkoenig

Zitat2017.01.15 21:02:55.333 1: STRANGE: 9418 vs. 9414
Das bedeutet, dass syswrite mehr geschrieben hat, als bei der Pruefung danach im Puffer drin war.
Wie das bei einem Single-Threaded Anwendung passieren kann, ist mir ein Raetsel.
Ich habe die Abfrage trotzdem angepasst, die Warnung sollte nicht wieder kommen.

Tommy82

Hallo,
seit dem gestriegen Update habe ich heute Morgen plötzlich diese Meldungen im Log

2019.03.04 05:50:07.422 1: PERL WARNING: Use of uninitialized value $val in substitution (s///) at fhem.pl line 1641.
2019.03.04 05:50:07.422 1: stacktrace:
2019.03.04 05:50:07.423 1:     main::__ANON__                      called by fhem.pl (1641)
2019.03.04 05:50:07.423 1:     main::GetDefAndAttr                 called by fhem.pl (1725)
2019.03.04 05:50:07.423 1:     main::CommandSave                   called by fhem.pl (1233)
2019.03.04 05:50:07.424 1:     main::AnalyzeCommand                called by fhem.pl (1079)
2019.03.04 05:50:07.424 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2666)
2019.03.04 05:50:07.424 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (896)
2019.03.04 05:50:07.425 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (567)
2019.03.04 05:50:07.425 1:     main::FW_Read                       called by fhem.pl (3693)
2019.03.04 05:50:07.425 1:     main::CallFn                        called by fhem.pl (742)
2019.03.04 05:50:07.426 1: PERL WARNING: Use of uninitialized value $val in substitution (s///) at fhem.pl line 1642.
2019.03.04 05:50:07.426 1: stacktrace:
2019.03.04 05:50:07.426 1:     main::__ANON__                      called by fhem.pl (1642)
2019.03.04 05:50:07.427 1:     main::GetDefAndAttr                 called by fhem.pl (1725)
2019.03.04 05:50:07.427 1:     main::CommandSave                   called by fhem.pl (1233)
2019.03.04 05:50:07.427 1:     main::AnalyzeCommand                called by fhem.pl (1079)
2019.03.04 05:50:07.427 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2666)
2019.03.04 05:50:07.428 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (896)
2019.03.04 05:50:07.428 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (567)
2019.03.04 05:50:07.428 1:     main::FW_Read                       called by fhem.pl (3693)
2019.03.04 05:50:07.429 1:     main::CallFn                        called by fhem.pl (742)
2019.03.04 05:50:07.429 1: PERL WARNING: Use of uninitialized value $val in concatenation (.) or string at fhem.pl line 1643.
2019.03.04 05:50:07.429 1: stacktrace:
2019.03.04 05:50:07.429 1:     main::__ANON__                      called by fhem.pl (1643)
2019.03.04 05:50:07.430 1:     main::GetDefAndAttr                 called by fhem.pl (1725)
2019.03.04 05:50:07.430 1:     main::CommandSave                   called by fhem.pl (1233)
2019.03.04 05:50:07.430 1:     main::AnalyzeCommand                called by fhem.pl (1079)
2019.03.04 05:50:07.431 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2666)
2019.03.04 05:50:07.431 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (896)
2019.03.04 05:50:07.431 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (567)
2019.03.04 05:50:07.432 1:     main::FW_Read                       called by fhem.pl (3693)
2019.03.04 05:50:07.432 1:     main::CallFn                        called by fhem.pl (742)
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

betateilchen

Mach nochmal ein Update. Das Problem gab es am Wochenende bei vielen Anwendern, die Homematic im Einsatz haben.

Nun kommt es darauf an, wann Du gestern das Update gemacht hast. Auf jeden Fall sollten die Meldungen mit aktuellen Versionen heute nicht mehr auftreten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!