FHEM Server immer weg

Begonnen von grosj, 17 April 2015, 12:48:20

Vorheriges Thema - Nächstes Thema

grosj

Hallo zusammen!

Ich habe das Problem, dass nach ca. 3, 4, 5 Tagen der FHEM-Server nicht mehr zur Verfügung steht.
Leider habe ich aus den Log-Files auch nicht wirklich hilfreiche Infos herausziehen können.

Ich halte die FHEM-Installation immer auf dem aktuellen Stand.

Das Ganze läuft auf einem RPi mit Wheezy.
Per SSH kann ich mich mit dem RPi verbinden und starte dann den FHEM-Server wieder mit folgendem Command wieder neu:

sudo invoke-rc.d fhem start


Danach startet das Spiel wieder von vorne.
Ist irgend jemandem solch ein Phänomen schon mal unter gekommen?
Oder hat jemand einen Tipp für mich, wo ich noch einmal besonders hinschauen sollte?

Viele Grüße,
Marco

marvin78

Dass du keine hilfreichen Infos aus den Logs ziehen kannst, heißt ja nicht, dass es jemand anders nicht kann ;) Ohne weitere Infos (bspw. Logfile mit Verbose 5, apptime o.ä.) kann man hier jedoch nur raten.

gero

Seit wann hast du das Problem?
Oft ist es hilfreich, fhem von der Konsole aus zu starten (oder die Fehlerausgabe in eine Datei umzuleiten), um zusätzlich zum Log noch weitere Meldungen zu bekommen.
Ich habe dazu in der /etc/init.d/fhem die Startzeile ergänzt:
perl fhem.pl fhem.cfg > /opt/fhem/log/fhem-console-`date +%Y%m%d%H%M%S`.log 2>&1

Du erhälst auf jeden Fall mit
attr global stacktrace 1
attr global verbose 5

mehr Informationen.

Ich habe ein ähnliches Problem seit vorgestern (nach einem Update), dass mein fhem sich zwischen 2 und 3 Uhr nachts stehenbleibt.
Die letzte Meldung, die ich im Logfile noch sehe lautet
CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
Auf der Konsole sehe ich zusätzlich
*** Error in `/usr/bin/perl': double free or corruption (out): 0x023d83f8 ***
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 125.


Der Fhem Prozess selbst scheint noch zu laufen, aber das Webinterface ist nicht mehr erreichbar.

Zur Zeit bin ich dabei diesen Fehler weiter zu analysieren. Mal sehen, ob ich bald schlauer bin.
(Der Fehler muß nicht an fhem liegen. Evtl. ist ein von mir geschriebenes Modul Schuld :-[)

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

rudolfkoenig

@Gero:
*** Error in `/usr/bin/perl': double free or corruption (out): 0x023d83f8 ***
Das ist ein Bug in perl, das erste mal in diesem Forum, dass ich das sehe.
Welche Version von perl ist das? Kannst du eine aeltere Version installieren und verwenden?

@grosj:
Wenn es moeglich, bitte FHEM unter screen starten, dann kann man auch Tage spaeter die Ausgaben der Console pruefen, ich vermute da kann man die Ursache des Problems lesen (wie bei gero). Hier wurde eine Loesung vorgestellt, um solche Meldungen ins FHEM-Log zu schreiben, leider fuehrt das auf manchen Plattformen (z.Bsp. FritzBox) dazu, dass FHEM gar nicht startet.

gero

Zitat von: rudolfkoenig am 17 April 2015, 17:59:50
@Gero:
*** Error in `/usr/bin/perl': double free or corruption (out): 0x023d83f8 ***
Das ist ein Bug in perl, das erste mal in diesem Forum, dass ich das sehe.
Welche Version von perl ist das? Kannst du eine aeltere Version installieren und verwenden.
Die Perl Version ist v5.18.2. Ich werde noch die nächste Nacht mit erweitertem Logging abwarten und dann auf eine ältere Version zurückgehen.
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

gero

Nur zur Info:
Der Fehler ist bisher nicht mehr aufgetreten.
Die aktuelle Perl Version ist die v5.18.2
Ich hatte allerdings nach Auftreten des Fehlers nochmal ein apt-get upgrade aufgerufen. Daher kann ich nicht mehr sagen mit welcher Perl-Version der Fehler aufgetreten ist.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

grosj

Hallo zusammen,

erstmal herzlichen dank für die vielen Hilfestellungen.

Nachdem ich das verbose auf 5 hoch gesetzt habe und mir die Log-Datei gesichert habe, bevor ich fhem wieder neu gestartet habe, konnte ich den Übeltäter ausmachen.

Es lag an openweathermap und einem fehlerhaften oder nicht vollständig empfangenen XML.
Hier ist fhem, Perl, ... oder wer auch immer mit einer XML-Parse-Exception abgebrochen und hat fhem in den Keller gezogen.

Nach entfernen von owo läuft das Ganze wieder stabil.

Viele Grüße,
Marco