Enigma2 verursacht "Too many open files" Meldung nach Update

Begonnen von maxx8888, 05 Dezember 2014, 17:12:28

Vorheriges Thema - Nächstes Thema

maxx8888

Hallo!

Ich habe mein Fhem vor ein paar Tagen upgedated auf die letzte Version. Jetzt habe ich auf einmal das Problem das Fhem innerhalb von 24 Stunden auf einen Arbeitsspeicher Verbrauch von 100mb anwächst.
Wenn man dann das Fhem Webinterface aufmacht geht die CPU Last auf 100% und Fhem reagiert nicht mehr. Dannach perl abschiessen und fhem neustarten, spiel von vorne.

Ich verwende einen Debian Server (3.2.63-2+deb7u1) mit 256mb Speicher

Wenn Fhem auf diese 100% CPU Last wechselt wird ständig "FhemWeb: Too many open Files" ins Fhem.log geschrieben.
Die Fehlermeldung ist unter Umständen nicht 100% korrekt, ich musste alle Logfiles löschen da diese schon um die 400mb hatten und nicht mehr zu öffnen gingen.
Beim nächsten Fehlerfall werde ich das nochmal prüfen.

Hat irgendwer im Moment ähnliche Probleme?
Wie gehe ich am Besten vor um einzugrenzen wo der Speicher verloren geht?

Danke für eure Hilfe,
Markus

maxx8888

Hallo,

Wie berichtet passiert dieser Fehler offensichtlich im WebInterface vom Fhem. Die Fehlermeldung kommt für alle Instanzen des WebInterfaces.
Diese Einträge werden so schnell ins Logfile geschrieben, wie es scheinbar die CPU bis 100% Last zulässt. (Heute über Nacht hat das Logfile wieder 300mb erreicht)
Hier die letzten Einträge, bis ich mit kill den perl Prozess geschlossen habe:

2014.12.06 10:21:42 1: Accept failed (WEB: Zu viele offene Dateien)
2014.12.06 10:21:42 1: Accept failed (WEB: Zu viele offene Dateien)
2014.12.06 10:21:42 1: Accept failed (WEB: Zu viele offene Dateien)
2014.12.06 10:21:42 1: Accept failed (WEB: Zu viele offene Dateien)
2014.12.06 10:21:42 1: Accept failed (WEB: Zu viele offene Dateien)
2014.12.06 10:21:42 0: Server shutdown
2014.12.06 10:21:42 1: WriteStateFile: Cannot open ./log/fhem.save: Zu viele offene Dateien

Wäre über Tipps sehr dankbar.

Grüsse,
Markus

maxx8888

Hmm,

Das heißt dann wohl ich bin der einzige mit dem Problem...

Hmm, wird wohl zeit den Server upzugraden :)

bye,
maxx

UlfS

Nein, Du bist nicht der einzige. Ich habe auch die Tage einen Update durchgeführt, und seit dem komme ich per WebIF nicht mehr drauf, nur noch per Putty. Die gleiche Meldung, das Log wird mit der Fehlermeldung "Too many open files" zugemüllt.

Bei mit auf Raspberry B+ mit Homematic und Enigma CUL. lsof -p <pid> gibt nur vier Zeilen raus die in meinen Laienaugen normal aussehen.

Mal weiter buddeln ...
Konfig: Raspberry Pi 2, En-Ocean und HomeMatic CUL, FritzBox mit Fritz!DECT-Steckdosen und Presence über FB, Pioneer-AVR, Enigma2 Receiver, Sonos, HomeMatic Heizungsaktoren, Temperatur-/Feuchtigkeitssensoren, Fenster-/Fenstergriff-Sensoren, EnOcean Schalter und Rollladensteuerung.

maxx8888

Das Kommando lsof - p <pid> hat mir sehr weitergeholfen.

Ich habe das Modul Enigma2 installiert und zu 5 Dreamboxen verbunden. Witzigerweise gibt's Probleme bei einer der 5 Boxen. Die Verbindungen werden bei dieser nicht anständig geschlossen. Ich hatte hunderte Verbindungen zu dieser mit dem state "close_wait".

Nachdem ich diese Dreambox rausgeworfen hab, läuft Fhem wieder ganz normal.
Verstehe nicht ganz warum es bei einer auftritt und bei den anderen nicht. Mal weiter nachgehen der Sache.

Hab dazu noch folgenden Form Eintrag gefunden. Genau das gleiche Problem:
http://forum.fhem.de/index.php/topic,19232.0.html

4 Zeilen beim lsof? Das finde ich sogar etwas wenig. Jede Verbindung die Fhem macht sollte da enthalten sein...
Hast Du das Kommando ausgeführt nachdem der Fehler aufgetreten ist ohne Fhem vorher neuzustarten?


UlfS

Hi Maxx,

guter Tip, danke Dir! Hatte beim lsof den sudo vergessen, daher nur vier Zeilen. Mit sudo den gleichen Effekt wie bei Dir, das Enigma-Interface war für den Effekt zuständig (hat es beim Enigma-Modul ein Software-Update gegeben?), hat richtig zugemüllt und offensichtlich sogar alle freien Ports verwendet. Per FHEMWeb ging gar nichts mehr.

Habe dann per Putty die cfg editiert und den Enigma auf disabled gesetzt (ganz rausschmeißen mag ich ihn nicht, eigentlich ist eines meiner nächsten Projekte, meiner Frau ein paar Buttons zu machen, da die den Fernseher nicht bedienen kann (HDMI1, dann AVR auf Sat, Blueray oder Apple je nachdem ob Sohnemann Bob der Baumeister über Amazon oder Biene Maya über Apple-TV sehen will).

Nach dem Disablen des Enigmas habe ich den FHEM pid gekillt und einen shutdown -r gemacht, hat super geklappt, jetzt geht wieder alles.

Hoffentlich wird das Enigma-Modul gefixt, wäre schön wenn das wieder läuft.

Danke Dir!
Ulf
Konfig: Raspberry Pi 2, En-Ocean und HomeMatic CUL, FritzBox mit Fritz!DECT-Steckdosen und Presence über FB, Pioneer-AVR, Enigma2 Receiver, Sonos, HomeMatic Heizungsaktoren, Temperatur-/Feuchtigkeitssensoren, Fenster-/Fenstergriff-Sensoren, EnOcean Schalter und Rollladensteuerung.

Puschel74

Hallo,

wenn maxx den betreff des ersten Beitrags bearbeitet kann ich den Beitrag passend verschieben damit der zuständige Maintainer das auch mitbekommt.
Nicht jeder liest die Beiträge im Anfängerbereich.
In Rudis angepinnten Beitrag findet ihr die Maintainer.txt - nachschauen wo der Beitrag hin soll und mir kurz Bescheid geben.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

maxx8888

Hi,

Betreff geändert.

Laut maintainer.txt sollte das hier passen:
FHEM/70_ENIGMA2.pm           loredo               http://forum.fhem.de Multimedia

Vielen dank!

Loredo

Das mit dem verschieben ist immer so eine Sache, da gibts dann keine E-Mail Benachrichtigung (und generell ist selbige auch oft buggy  ::) ).
Ihr hattet mich ja im Haupt-Thread drauf hingewiesen, daher verweise ich hier nochmals auf meine Antwort dort:


http://forum.fhem.de/index.php/topic,14792.msg228525.html#msg228525
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

maxx8888

So, mein jetztiger Erkenntisstand:

Das Enigma2 Modul scheint die Verbindungen zu meinen Dreamboxen nicht richtig zu schliessen. (lsof State: "close_wait")

Eine Box war ganz schlimm betroffen obwohl die Definition genau die gleiche war (20sec Refresh auf Port 80).

Ingesamt 5 Dreamboxen in Fhem. Mit allen aktiv schmiert fhem innerhalb von 24 Stunden ab und müllt das Logfile zu mit "Too many open Files" Meldung.
Als ich dann die Dreambox mit den meisten offenen Verbindungen rausgenommen habe, lief fhem bereits viel besser.
Jetzt läuft es schon seit 3 Tagen und ist noch immer online. Wenn ich jedoch ein lsof ausführe sehe ich jetzt von anderen Boxen auch schon viele offene Verbindungen.
Ich denke es ist eine Frage der Zeit bis Fhem wieder abschmiert.

Weiß nicht genau wie ich weiter machen sollte.
Im Moment siehts so aus als ob ich meine Dreamboxen wieder von fhem runter nehmen muß :-(((

Gibt es vielleicht Probleme mit der Firmware auf den Dreamboxen selbst?

Lg,
Markus

Tommy82

Ich häng mich hier auch mal ran, da ich seit ein paar Tagen andauernd den Log voll hab mit:
2015.01.01 10:24:34.531 1: Accept failed (WEB: Too many open files)
2015.01.01 10:24:34.532 1: Accept failed (WEBtablet: Too many open files)
2015.01.01 10:24:34.533 1: Accept failed (WEB: Too many open files)
2015.01.01 10:24:34.534 1: Accept failed (WEBtablet: Too many open files)
2015.01.01 10:24:34.536 1: Accept failed (WEB: Too many open files)
2015.01.01 10:24:34.536 1: Accept failed (WEBtablet: Too many open files)
2015.01.01 10:24:34.538 1: Accept failed (WEB: Too many open files)
usw.

Nach dem ich fhem dann über Putty neugestartet hab geht dann erstmal wieder alles.
Ein list .* FD nach dem neustart ergibt dann
FBSmartHome          21
FHEMWEB:192.168.188.48:57382 4
FHEMWEB:192.168.188.73:50154 41
FHEMWEB:192.168.188.73:50178 34
FHEMWEB:192.168.188.73:50180 35
HmLanAdapter         5
WEB                  7
WEBphone             8
WEBtablet            9
telnetPort           6


ein
ls -l /proc/1/fd
ergibt
total 0
lrwx------ 1 root root 64 Dec 27 17:35 10 -> /run/initctl


und ein lsof -p 1 ergibt
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
init      1 root  cwd    DIR    8,1     4096       2 /
init      1 root  rtd    DIR    8,1     4096       2 /
init      1 root  txt    REG    8,1    26976 2097222 /sbin/init
init      1 root  mem    REG    8,1     9816  264229 /lib/arm-linux-gnueabihf/libdl-2.13.so
init      1 root  mem    REG    8,1   897140  264238 /lib/arm-linux-gnueabihf/libc-2.13.so
init      1 root  mem    REG    8,1    84028  262449 /lib/arm-linux-gnueabihf/libselinux.so.1
init      1 root  mem    REG    8,1   166144  262450 /lib/arm-linux-gnueabihf/libsepol.so.1
init      1 root  mem    REG    8,1    93472  264232 /lib/arm-linux-gnueabihf/ld-2.13.so
init      1 root   10u  FIFO   0,13      0t0     585 /run/initctl


Hoffe einer hat eine idee für das Problen
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

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Tommy82

Haben wohl mehrere das Problem, gibt mehrer ähnliche Threads, bin mir auch nicht sicher ob es ein enigma2 Problem ist, wird aber häufig vermutet, z.b. hier
http://forum.fhem.de/index.php?topic=19232.0
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

Loredo

Habt ihr mal beobachtet, ob ihr das alte Webinterface oder das neue Webinterface (OWIF) verwendet?
Steht im Reading "webifversion". Wenn es OWIF ist, dann steht dort nur eine Versionsnummer, ansonsten noch OWIF davor.


Ich habe jetzt noch das Attribut "http-noshutdown" hinzugefügt (ab morgen per Update), damit man das Ansprechverhalten der FHEM-internen HttpUtils entsprechend wie hier beschrieben beeinflussen kann. Ob es jemandem hilft, kann ich nicht sagen, da ich selbst bei keiner meiner Installationen (weder in virtueller Maschine noch auf einem RaspberryPi) diese Schwierigkeiten habe. Ich denke es liegt generell an irgend einer bestimmen Kombination aus Webinterface Typ/Version, FHEM Serverplattform und Perl-Version/Glibc-Typ. Das herauszufinden übersteigt aktuell jedoch leider meine zeitlichen Kapazitäten.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

satprofi

OWIF 0.4.0

habe aber fehler nur einmal gehabt. seit neustart von FHEM nicht mehr. hoffe es bleibt so.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram