FHEM Webserver fällt plötzlich aus

Begonnen von mhelgers, 11 Oktober 2018, 06:52:02

Vorheriges Thema - Nächstes Thema

mhelgers

Hallo zusammen,

nach einem Neustart von fhem läuft alles ganz normal, doch nach einige Zeit (ein paar Stunden) ist fhem über die Weboberfläche nicht mehr erreichbar. Der Raspi auf dem es läuft ist aber weiterhin ganz normal per ssh erreichbar.

Ein  sudo /etc/init.d/fhem stop bringt nichts, fhem stoppt nicht. Erst nach einem freundlichen kill -9 kann ich fhem restarten.
Ist jemandem der Fehler bekannt?? Ich habe das log jetzt auf verbose 5 gestellt...aber vielleicht hat ja jemand eine Lösung?!

KölnSolar

Hatte ich auch schon. Kann aber viele Ursachen haben....

Ein Logauszug sollte Erleuchtung bringen. Außerdem die Logfiles beobachten, was sich dort noch tut. Ein "dmesg" könnte einen Systemfehler verraten.

Viel Glück
Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Wernieman

Und vor einen Kil, mal schauen, was fhem denn machjt ..

z.B. "ps aux | grep fhem", oder eben die erwähnten Logfiles (System, FHEM, dmesg etc.)

Einfach mehr Infos bitte  .. so kann es vieles sein.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

mhelgers

ein ps gibt im Fehlerfall

fhem       985     1  0 Oct09 ?        00:00:00 /lib/systemd/systemd --user
fhem       992   985  0 Oct09 ?        00:00:00 (sd-pam)
fhem      1075     1  0 Oct09 ?        00:03:08 homebridge                   
fhem     17921 20258  0 02:59 ?        00:00:09 perl fhem.pl fhem.cfg
fhem     20258     1  0 Oct17 ?        00:04:17 perl fhem.pl fhem.cfg
fhem     20278 20258  0 Oct17 ?        00:00:00 perl fhem.pl fhem.cfg
pi       29702 29685  0 06:42 pts/0    00:00:00 grep --color=auto fhem


wenn ich die drei Prozesse perl fhem.pl fhem.cfg mit kill -9 entsorge, danach FHEM stoppe und starte ist alles wieder ganz normal.

ein ps -ef zeigt dann
hem       985     1  0 Oct09 ?        00:00:00 /lib/systemd/systemd --user
fhem       992   985  0 Oct09 ?        00:00:00 (sd-pam)
fhem      1075     1  0 Oct09 ?        00:03:08 homebridge                   
fhem     29796     1 11 06:43 pts/0    00:00:17 perl fhem.pl fhem.cfg
fhem     29810 29796  0 06:43 pts/0    00:00:00 perl fhem.pl fhem.cfg
pi       29928 29685  0 06:45 pts/0    00:00:00 grep --color=auto fhem


Ursache scheint demnach ein Prozess perl fhem.pl fhem.cfg zu sein

Wernieman

So schlimm sieht es gar nicht aus ... hört fhem überhaupt noch auf dem port?

als root bitte:
netstat -lntp | grep perl

und "perl fhem.pl fhem.cfg" ist übrigens fhem.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

mhelgers

#5
Heute mal geschaut mit folgendem Ergebnis:
pi@raspberrypi ~ $ ps -ef|grep fhem
fhem       674 32188  0 02:59 ?        00:00:09 perl fhem.pl fhem.cfg
fhem       985     1  0 Oct09 ?        00:00:00 /lib/systemd/systemd --user
fhem       992   985  0 Oct09 ?        00:00:00 (sd-pam)
fhem      1075     1  0 Oct09 ?        00:03:33 homebridge                   
pi       14563 14041  0 07:22 pts/0    00:00:00 grep --color=auto fhem
fhem     32188     1  0 Oct18 ?        00:09:38 perl fhem.pl fhem.cfg
fhem     32203 32188  0 Oct18 ?        00:00:00 perl fhem.pl fhem.cfg
pi@raspberrypi ~ $ sudo netstat -lntp | grep perl
tcp        0      0 127.0.0.1:42472         0.0.0.0:*               LISTEN      32188/perl     
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      32188/perl     
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN      32188/perl     
tcp        0      0 0.0.0.0:8085            0.0.0.0:*               LISTEN      32188/perl     
tcp        0      0 0.0.0.0:7072            0.0.0.0:*               LISTEN      32188/perl   


Der Webserver ist nicht mehr erreichbar wenn dieser Prozess startet
fhem     32203 32188  0 Oct18 ?        00:00:00 perl fhem.pl fhem.cfg

Dh wenn FHEM gestartet wird laufen zwei Prozesse perl fhem.pl fhem.cfg
Dann irgendwann  wird ein neuer Prozess  perl fhem.pl fhem.cfg gestartet der dann alles lahm legt.

Wernieman

1. Anstatt "ps ef" bitte "ps aux" ... nur dann bekommst Du auch die CPU-Belastung ... oder gleich mit
ps ux -C perl
2. perl fhem.pl fhem.cfg sind die FHEM-prozesse und das es mehr als eines ist, dürfte am "Non-Blocking" liegen.

Kannst Dir ja mal anschauen mit pstree ... oder mal folgendes Probieren:
ps u -H -C perl
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
fhem      1677  0.8  1.0 181096 88648 ?        S    Okt13  97:43 /usr/bin/perl fhem.pl fhem.cfg
fhem      1797  0.0  1.0 179284 81760 ?        S    Okt13   0:00   /usr/bin/perl fhem.pl fhem.cfg
fhem      1799  0.2  1.0 183240 85108 ?        S    Okt13  30:25   /usr/bin/perl fhem.pl fhem.cfg
fhem      1800  0.4  1.0 182844 84716 ?        S    Okt13  48:31   /usr/bin/perl fhem.pl fhem.cfg

Hier siehst Du, das bei mir 1 FHEM-Thread startet, der 3 Zusätzliche Prozesse für "Non-Blocking" startet. Das alles ist normal und so gewünscht. Nach deiner Beschreibung (und viel Glaskugelleserei) spinnt dann einer der "Non-Blocking" ... aber dazu brauchen wir die genaue CPU-Belastung.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html