Nach Update Perl Fehlermeldung und Fhem down

Begonnen von Robert1963, 22 Dezember 2017, 06:21:22

Vorheriges Thema - Nächstes Thema

Robert1963

Hallo,

nach dem ich ein bisschen Systempflege machen wollte, hat sich ein (alter?) Fehler wieder gezeigt.
Mein letztes Update war vom 14.12.2017 (Versionsnummer hab ich nicht gefunden). Mit dem heutigen Update habe ich die Meldung:

           Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1908.

im Log und Fhem hängt sich auf :-[

Hatte diesen(?) Fehler schon mal und konnte ihn durch ändern von selftrigger all in selftrigger wait beheben.

https://forum.fhem.de/index.php/topic,78473.15.html

Wie kann ich dem neuen(alten) Problem auf die Schliche kommen.

Viele Grüße,
Rob
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Damian

Zitat von: Robert1963 am 22 Dezember 2017, 06:21:22
Hallo,

nach dem ich ein bisschen Systempflege machen wollte, hat sich ein (alter?) Fehler wieder gezeigt.
Mein letztes Update war vom 14.12.2017 (Versionsnummer hab ich nicht gefunden). Mit dem heutigen Update habe ich die Meldung:

           Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1908.

im Log und Fhem hängt sich auf :-[

Hatte diesen(?) Fehler schon mal und konnte ihn durch ändern von selftrigger all in selftrigger wait beheben.

https://forum.fhem.de/index.php/topic,78473.15.html

Wie kann ich dem neuen(alten) Problem auf die Schliche kommen.

Viele Grüße,
Rob

In der Zeile 1908 der aktuellen DOIF Version steht:

my ($seconds, $microseconds) = gettimeofday();

das kann nicht zu diesem Problem führen;
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert


Robert1963


@ Damian

Hatte ich mir auch schon angekuckt, aber kein Urteil gewagt.

Fhem mit "altem" DOIF läuft jetzt den ganzen Tag normal.

Frage: Worin genau bestehen die Unterschiede der beiden Versionen

@ Ellert
        ;) Natürlich
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Damian

Zitat von: Robert1963 am 22 Dezember 2017, 17:21:16
@ Damian

Hatte ich mir auch schon angekuckt, aber kein Urteil gewagt.

Fhem mit "altem" DOIF läuft jetzt den ganzen Tag normal.

Frage: Worin genau bestehen die Unterschiede der beiden Versionen

@ Ellert
        ;) Natürlich
Seit dem 14.12.2017 hat sich nichts geändert, die letzte Version ist vom 05.12.2017.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Robert1963

#5
OK,
wird wohl das Datum meines NAS Tests sein. ::)

Letzte funktionierende Version: 98_DOIF.pm 14790 2017-07-26

Hab grad ein wenig Stress, beim aufrufen eines beliebigen DOIF in der Version 14790 und dem restl. akt. Dateien (Update) schmiert Fhem mit   
      Undefined subroutine &main::DOIF_detailFn called at ./FHEM/98_DOIFtools.pm line 347.
ab.
Passt wohl alles nicht zusammen. Das zurückspielen der gestrigen fhem.cfg, fhem.pl und FHEM (Modulordner) allein bracht nichts.

Schiebe grad ein Backup von Gestern rauf um erst mal den WAF wieder zu erhöhen.

Ach ja:

   my ($seconds, $microseconds) = gettimeofday(); taucht bei mir ganz woanders auf, Notepad++.

Wo liegt mein Fehler?

Hab nochmal gecheckt, falsche DOIF bekuckt ::)

Fhem pegelt sich grade wieder ein, 98_DOIF.pm 14790 2017-07-26 .

Werde erst mal die die DOIF/Tools Fehlersuche weiter verinnerlichen und in einem ruhigeren Moment nochmal ein Update angehen.

Vielen Dank für eure Zeit,
schöne Festtage,
Rob



Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Ellert

Zitat von: Robert1963 am 22 Dezember 2017, 19:10:22
OK,
wird wohl das Datum meines NAS Tests sein. ::)

Letzte funktionierende Version: 98_DOIF.pm 14790 2017-07-26

Hab grad ein wenig Stress, beim aufrufen eines beliebigen DOIF in der Version 14790 und dem restl. akt. Dateien (Update) schmiert Fhem mit   
      Undefined subroutine &main::DOIF_detailFn called at ./FHEM/98_DOIFtools.pm line 347.
ab.
Passt wohl alles nicht zusammen. Das zurückspielen der gestrigen fhem.cfg, fhem.pl und FHEM (Modulordner) allein bracht nichts.

Schiebe grad ein Backup von Gestern rauf um erst mal den WAF wieder zu erhöhen.

Ach ja:

   my ($seconds, $microseconds) = gettimeofday(); taucht bei mir ganz woanders auf, Notepad++.

Wo liegt mein Fehler?

Hab nochmal gecheckt, falsche DOIF bekuckt ::)

Fhem pegelt sich grade wieder ein, 98_DOIF.pm 14790 2017-07-26 .

Werde erst mal die die DOIF/Tools Fehlersuche weiter verinnerlichen und in einem ruhigeren Moment nochmal ein Update angehen.

Vielen Dank für eure Zeit,
schöne Festtage,
Rob

hier: Undefined subroutine &main::DOIF_detailFn called at ./FHEM/98_DOIFtools.pm line 347.

DOIFtools merkt sich nach FHEM Initialisierung die DOIF_detailFn. Wenn nach einem Downgrade von DOIF keine DOIF_detailFn aufgerufen werden kann, weil das alte DOIF keine bereitstellt, dann führt das zu dem Fehler.

Bei einem Downgrade gilt um so mehr, dass ein "shutdown restart duchzuführen ist". Es sollte auch immer das komplette FHEM aktualisiert werden, dann ist sicher gestellt, dass alle Module und Versionen, die von einander abhängen auch zu einander passen.

hanske

Hallo,

ich habe dieses Problem auch häufiger, aber keine Ahnung von welchem der hundert DOIFs der kommt.

Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1905.

Kann man im Perlcode nicht grundsätzlich einen negativen Index abfangen?

Grüße
Hanske
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

Damian

Zitat von: hanske am 21 Februar 2018, 18:44:22
Hallo,

ich habe dieses Problem auch häufiger, aber keine Ahnung von welchem der hundert DOIFs der kommt.

Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1905.

Kann man im Perlcode nicht grundsätzlich einen negativen Index abfangen?

Grüße
Hanske

zunächst musst du auf das aktuelle Modul aktualisieren: # $Id: 98_DOIF.pm 16182 2018-02-14 21:36:04Z Damian $
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hanske

Ok, danke.
Probiere ich gleich mal aus.
Ist aber schon seit einigen Updates so.
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

hanske

Hallo Damian,
ich habe am 21.02. ein Update gemacht.
Leider tritt der Fehler immer noch auf:
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1906
Wie kann ich eigentlich die gerade genutzte DOIF Versionsnummer abfragen?

Grüße
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

Ellert

Hast Du nach dem Update shutdown restart durchgeführt? Siehe dazu https://wiki.fhem.de/wiki/DOIF/Tools_und_Fehlersuche#FHEM_aktuell_halten
Zitat
Wie kann ich eigentlich die gerade genutzte DOIF Versionsnummer abfragen?
DOIFtools zeigt sie und auch die FHEM Revision in der Detailansicht an.


hanske

Hi,
ja klar, mache dann immer ein Restart.
Ich benutze folgende Version:
98_DOIF.pm          16182 2018-02-14 21:36:04Z Damian
Ich habe inzwischen mehrmals täglich den Absturz durch ein DOIF.
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1906.
Ein cron job startet mir jetzt glücklicherweise FHEM dann wieder neu.
Kann ich irgendwie weiter analysieren, wenn man den Fehler nicht direkt im Sourcecode abfangen kann?

Danke und Grüße
hanske
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

Damian

Zitat von: hanske am 26 Februar 2018, 09:37:28
Hi,
ja klar, mache dann immer ein Restart.
Ich benutze folgende Version:
98_DOIF.pm          16182 2018-02-14 21:36:04Z Damian
Ich habe inzwischen mehrmals täglich den Absturz durch ein DOIF.
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98_DOIF.pm line 1906.
Ein cron job startet mir jetzt glücklicherweise FHEM dann wieder neu.
Kann ich irgendwie weiter analysieren, wenn man den Fehler nicht direkt im Sourcecode abfangen kann?

Danke und Grüße
hanske

Man müsste jetzt wissen, wie die Definition des DOIF-Devices aussieht.

Ich kann den Fehler zunächst abfangen. Die Ursache wäre interessanter.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

tagedieb

Hallo und Guten Morgen zusammen

auch bei mir ist nach dem heutigen Update fhem nicht wieder per browser erreichbar gewesen, da ich täglich ein update laufen lasse - habe ich festgestellt das es nicht doif sein kann, denn diese pm war heute nicht dabei - meiner logdatei nach, hängt sich fhem nach etwas anderem auf
2018.02.26 10:46:07 1: ERROR evaluating my $NAME='global';my $TYPE='Global';my $EVENT='INITIALIZED';my $SELF='fhem_not';my $EVTPART0='INITIALIZED';{fhem_not();}: Undefined subroutine &main::fhem_not called at (eval 856) line 1.


Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3