[erledigt] 18.08.22 httputils dauerreboot

Begonnen von the ratman, 18 September 2022, 09:38:14

Vorheriges Thema - Nächstes Thema

the ratman

hiho,
nach dem heutigen update restartet fhem bei mir in dauerschleife.

logeintrag pro reboot2022.09.18 09:33:04 0: Server started with 348 defined entities (fhem.pl:26379/2022-09-03 perl:5.028001 os:linux user:fhem pid:16340)
Can't call method "fileno" on an undefined value at FHEM/HttpUtils.pm line 529.
2022.09.18 09:33:06 1: Including fhem.cfg
2022.09.18 09:33:16 1: Including ./log/fhem.save
2022.09.18 09:33:33 0: Featurelevel: 6.1
2022.09.18 09:33:33 0: Server started with 348 defined entities (fhem.pl:26379/2022-09-03 perl:5.028001 os:linux user:fhem pid:16349)


nach dem ersetzen von httputils mit der gestrigen version geht alles.
→do↑p!dnʇs↓shit←

rudolfkoenig

Ich kann das Problem nicht nachstellen, habe es mit perl 5.36.0 und 5.20.1 (s.o.) versucht.
Den Code habe ich auch 'ne Weile angestarrt, und mir faellt kein Grund ein.
Wenn jemand was zum Nachstellen hat, oder eine Idee, woran das Problem  liegen koennte, bitte melden.

zippo2k

Selbiges bei mir...   :'(

2022.09.18 13:21:53.657 0: Featurelevel: 6.1
2022.09.18 13:21:53.658 0: Server started with 424 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:fhem pid:8275)
2022.09.18 13:21:53.997 1: PERL WARNING: Subroutine HTTP::Message::init_header redefined at /usr/local/share/perl/5.32.1/HTTP/Message.pm line 690.
Can't call method "fileno" on an undefined value at FHEM/HttpUtils.pm line 529.



the ratman

#3
falls das hilft:

o) läuft alles unter win10 auf einer oracle vm, Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz, 1 Kerne
o) Betriebssystem Debian Linux 10
o) Kernel und Prozessor Linux 4.19.0-21-amd64 auf x86_64
o) Hauptspeicher   326.56 MiB benutzt / 474.85 MiB zwischengespeichert / 1.94 GiB gesamt
o) Festplatten Speicher   9.59 GiB genutzt / 19.76 GiB frei / 29.36 GiB gesamt
o) fhem ist bei mir tagesaktuell
0) einziges, noch mit upgadatetes ding war heute 93_dbrep.pm. verwendet das vielleicht httputils? weil das hatte ich auch wieder vom backup zurück gespielt.
das verwende ich aber meines wissens nach nicht - wenn, dann würde das bei mir über logdb rennen?

wenn ich irgendwie weiter helfen kann, nur sagen. aber bitte noob-tauglich *g*

→do↑p!dnʇs↓shit←

zippo2k

bemerke gerade, nach 2-3 FHEM Restart loops, mariadb läuft auf 100% CPU. (4Kern i5 NUC mit 8GB Ram). Wenn ich jetzt FHEM stoppe, dauert es ewig und mariadb kommt nach ca 10 Minuten wieder auf normalen Level.

zippo2k


the ratman

#6
hmm, bei mir war alles ruhig - update am pfeil.
gut, meine db liegt zwar am selben rechner, aber unter win.

ich hab mir dann nach 20-30 reboots angefangen gedanken zu machen, warum fhem nicht mehr hoch kommt und einfach die backups rein gespielt. das war dann sein letzter reboot.
→do↑p!dnʇs↓shit←

rudolfkoenig

Kann bitte jemand, der ein Problem hat, mit dem neuen HttpUtils.pm folgenden Test durchfuehren:
- die Datei /opt/fhem/test.cfg mit folgenden Inhalt anlegen:
{ use HttpUtils;; HttpUtils_NonblockingGet({ url=>"https://fhem.de/MAINTAINER.txt", callback=>sub($$$){ Log 1,"ERR:$_[1] DATA:".length($_[2]) } }) }

- FHEM in der Kommandozeile starten mit "cd /opt/fhem; perl fhem.pl -d test.cfg"
- Ausgabe hier anhaengen.

Bualicher

#8
wie gewünscht (hier läuft aber aktuell die Vorgängerversion der HttpUtils.pm):

cd /opt/fhem; perl fhem.pl -d test.cfg
2022.09.18 14:15:49 5: Loading ./FHEM/99_SUNRISE_EL.pm
2022.09.18 14:15:49 5: Loading ./FHEM/99_Utils.pm
2022.09.18 14:15:49 5: Loading ./FHEM/99_myFloorplanList.pm
2022.09.18 14:15:49 5: Loading ./FHEM/99_myUtils.pm
2022.09.18 14:15:49 5: Initializing Type Library:
2022.09.18 14:15:49 1: Including test.cfg
2022.09.18 14:15:49 5: Cmd: >{ use HttpUtils; HttpUtils_NonblockingGet({ url=>"https://fhem.de/MAINTAINER.txt", callback=>sub($$$){ Log 1,"ERR:$_[1] DATA:".length($_[2]) } }) }<
2022.09.18 14:15:49 5: HttpUtils url=https://fhem.de/MAINTAINER.txt NonBlocking via https
2022.09.18 14:15:49 4: IP: fhem.de -> 88.99.31.202
2022.09.18 14:15:49 5: Starting notify loop for global, 1 event(s), first is INITIALIZED
2022.09.18 14:15:49 5: createNotifyHash
2022.09.18 14:15:49 5: End notify loop for global
2022.09.18 14:15:49 0: Featurelevel: 6.1
2022.09.18 14:15:49 0: Server started with 1 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:pi pid:1284)
2022.09.18 14:15:50 5: HttpUtils request header:
GET /MAINTAINER.txt HTTP/1.0
Host: fhem.de
User-Agent: fhem
Accept-Encoding: gzip,deflate

2022.09.18 14:15:50 4: https://fhem.de/MAINTAINER.txt: HTTP response code 200
2022.09.18 14:15:50 5: HttpUtils https://fhem.de/MAINTAINER.txt: Got data, length: 46102
2022.09.18 14:15:50 5: HttpUtils response header:
HTTP/1.1 200 OK
Date: Sun, 18 Sep 2022 12:15:50 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000;
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Last-Modified: Sun, 18 Sep 2022 05:45:13 GMT
ETag: "b416-5e8ed19517fa0-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 9236
Content-Type: text/plain
Connection: close
2022.09.18 14:15:50 1: ERR: DATA:46102


Und hier noch mit der heutigen Version von HttpUtils.pm:
cd /opt/fhem; perl fhem.pl -d test.cfg
2022.09.18 14:19:13 5: Loading ./FHEM/99_SUNRISE_EL.pm
2022.09.18 14:19:13 5: Loading ./FHEM/99_Utils.pm
2022.09.18 14:19:13 5: Loading ./FHEM/99_myFloorplanList.pm
2022.09.18 14:19:13 5: Loading ./FHEM/99_myUtils.pm
2022.09.18 14:19:13 5: Initializing Type Library:
2022.09.18 14:19:13 1: Including test.cfg
2022.09.18 14:19:13 5: Cmd: >{ use HttpUtils; HttpUtils_NonblockingGet({ url=>"https://fhem.de/MAINTAINER.txt", callback=>sub($$$){ Log 1,"ERR:$_[1] DATA:".length($_[2]) } }) }<
2022.09.18 14:19:13 5: HttpUtils url=https://fhem.de/MAINTAINER.txt NonBlocking via https
2022.09.18 14:19:14 4: IP: fhem.de -> 88.99.31.202
2022.09.18 14:19:14 5: Starting notify loop for global, 1 event(s), first is INITIALIZED
2022.09.18 14:19:14 5: createNotifyHash
2022.09.18 14:19:14 5: End notify loop for global
2022.09.18 14:19:14 0: Featurelevel: 6.1
2022.09.18 14:19:14 0: Server started with 1 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:pi pid:1329)
2022.09.18 14:19:14 5: HttpUtils request header:
GET /MAINTAINER.txt HTTP/1.0
Host: fhem.de
User-Agent: fhem
Accept-Encoding: gzip,deflate

2022.09.18 14:19:14 4: https://fhem.de/MAINTAINER.txt: HTTP response code 200
2022.09.18 14:19:14 5: HttpUtils https://fhem.de/MAINTAINER.txt: Got data, length: 46102
2022.09.18 14:19:14 5: HttpUtils response header:
HTTP/1.1 200 OK
Date: Sun, 18 Sep 2022 12:19:14 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000;
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Last-Modified: Sun, 18 Sep 2022 05:45:13 GMT
ETag: "b416-5e8ed19517fa0-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 9236
Content-Type: text/plain
Connection: close
2022.09.18 14:19:14 1: ERR: DATA:46102

rudolfkoenig

Zitatwie gewünscht (hier läuft aber aktuell die Vorgängerversion der HttpUtils.pm):
Seufz.
Ich habe doch geschrieben, dass ich an einem Test mit dem neuen Version interessiert bin, habe extra Komma gesetzt :)
Man kann FHEM laufen lassen, und die aktuelle Version von HttpUtils nur fuer den Dauer dieses Tests verwenden.

rudolfkoenig

Und hier noch mit der heutigen Version von HttpUtils.pm:

D.h. das Problem tritt nur in Zusammenhang mit einem der Module auf.
Naechster Versuch waere FHEM mit dem kompletten fhem.cfg aus dem Terminal mit "perl fhem.pl -d fhem.cfg" zu starten, und die letzten 10-20 Zeilen vor dem Crash hier anzuhaengen.

Bualicher

Habe ich doch mit meinem 2. Log nachgereicht.

Hier aber auch nochmal (soeben angefertigt mit der #26411):
cd /opt/fhem; perl fhem.pl -d test.cfg
2022.09.18 14:27:41 5: Loading ./FHEM/99_SUNRISE_EL.pm
2022.09.18 14:27:42 5: Loading ./FHEM/99_Utils.pm
2022.09.18 14:27:42 5: Loading ./FHEM/99_myFloorplanList.pm
2022.09.18 14:27:42 5: Loading ./FHEM/99_myUtils.pm
2022.09.18 14:27:42 5: Initializing Type Library:
2022.09.18 14:27:42 1: Including test.cfg
2022.09.18 14:27:42 5: Cmd: >{ use HttpUtils; HttpUtils_NonblockingGet({ url=>"https://fhem.de/MAINTAINER.txt", callback=>sub($$$){ Log 1,"ERR:$_[1] DATA:".length($_[2]) } }) }<
2022.09.18 14:27:42 5: HttpUtils url=https://fhem.de/MAINTAINER.txt NonBlocking via https
2022.09.18 14:27:42 4: IP: fhem.de -> 88.99.31.202
2022.09.18 14:27:42 5: Starting notify loop for global, 1 event(s), first is INITIALIZED
2022.09.18 14:27:42 5: createNotifyHash
2022.09.18 14:27:42 5: End notify loop for global
2022.09.18 14:27:42 0: Featurelevel: 6.1
2022.09.18 14:27:42 0: Server started with 1 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:pi pid:1452)
2022.09.18 14:27:42 5: HttpUtils request header:
GET /MAINTAINER.txt HTTP/1.0
Host: fhem.de
User-Agent: fhem
Accept-Encoding: gzip,deflate

2022.09.18 14:27:42 4: https://fhem.de/MAINTAINER.txt: HTTP response code 200
2022.09.18 14:27:42 5: HttpUtils https://fhem.de/MAINTAINER.txt: Got data, length: 46102
2022.09.18 14:27:42 5: HttpUtils response header:
HTTP/1.1 200 OK
Date: Sun, 18 Sep 2022 12:27:42 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000;
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Last-Modified: Sun, 18 Sep 2022 05:45:13 GMT
ETag: "b416-5e8ed19517fa0-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 9236
Content-Type: text/plain
Connection: close
2022.09.18 14:27:42 1: ERR: DATA:46102

rudolfkoenig

ZitatHabe ich doch mit meinem 2. Log nachgereicht.
Das habe ich zu spaet gemerkt.
Jetzt brauche ich die Ausgabe von "perl fhem.pl -d fhem.cfg".

Bualicher

Zitat von: rudolfkoenig am 18 September 2022, 14:28:45
Und hier noch mit der heutigen Version von HttpUtils.pm:

D.h. das Problem tritt nur in Zusammenhang mit einem der Module auf.
Naechster Versuch waere FHEM mit dem kompletten fhem.cfg aus dem Terminal mit "perl fhem.pl -d fhem.cfg" zu starten, und die letzten 10-20 Zeilen vor dem Crash hier anzuhaengen.

Das ist gar nicht so einfach. Es gibt keinen Crash oder Abbruch, zumindest finde ich den nicht. Die Ausgabe ergibt ca. 20000 Zeilen  :(

rudolfkoenig

Danke fuer das Log via PM.
Crash gibts wahrscheinlich schon (siehe Zeile 20177), aber es sind noch etliche geforkte Prozesse am arbeiten, die nicht abstuerzen, und Weiteres an Log produzieren. Leider ist wegen diesen parallelen Prozessen die Ausgabe nicht ganz eindeutig, ich tippe auf DaheimHUE1.
Wie nennt sich das dazugehoerige Modul?
Koenntest Du bitte das gleiche Experiment mit dem angehaengten HttpUtils.pm nochmal durchfuehren, und mir die Ausgabe zuschicken?