Hab gestern mein komplettes system neu aufgesetzt und ein Backup eingespielt, als alles stabil gelaufen ist.
Trotzdem bleibt FHEM fast jede Stunde hängen.
Aus dem logfile geht nichts hervor was zum hängen geführt hat. Wie kann ich dem Problem auf die Spur kommen?
Schon seltsam, ein neues System mit einem stabilen Backup und trotzdem bleibt FHEM hängen.
Könnte es auch ein Hardware Fehler sein???
LG
Marlen
Hi,
weiss nicht ob es dir was bring aber evtl. verrät dir FREEZEMON (Freezes monitoren) mehr als dein LOG
hast da folgende Readings:
Readings (nach dem ersten erkannten Freeze):
freezeTime: Dauer des Freezes
freezeDevice: Liste von möglicherweise den Freeze auslösenden Funktionen(Devices)
fcDay: kumulierte Anzahl der Freezes pro Tag
ftDay: kumulierte Dauer der Freezes pro Tag
fcDayLast: speichert die kumulierte Anzahl der Freezes des vergangenen Tages (um tageweise plots zu erstellen)
fcDayLast: speichert die kumulierte Dauer der Freezes des vergangenen Tages (um tageweise plots zu erstellen)
state: s:<StartZeit> e:<EndeZeit>f:<Dauer> d:<Devices>
Attribute
fm_freezeTime: Wert in Sekunden (Default: 1) - Nur Freezes länger als fmFreezeTime werden als Freeze betrachtet
fm_forceApptime: Wenn FREEZEMON aktiv ist wird automatisch apptime gestartet (falls nicht aktiv)
fm_log: dynamischer Loglevel, nimmt einen String der Form 10:1 5:2 1:3 entgegen, was bedeutet: Freezes > 10 Sekunden werden mit Loglevel 1 geloggt, >5 Sekunden mit Loglevel 2 usw...
disable: aktivieren/deaktivieren der Freeze-Erkennung
Get
freeze: gibt die letzten 20 freezes zurück (in Kompakter Darstellung, wie im state) - Dies dient einem schnellen Überblick, für detailliertere Auswertungen empfehle ich die Daten zu loggen.
hier der Link:
https://forum.fhem.de/index.php?topic=83909.0 (https://forum.fhem.de/index.php?topic=83909.0)
Viel erfolg.
Grüße
Micky
defekte SD Karte..?
ich würde das "fast" jede Stunde mal analytisch konkretisieren.
Dann probier ich mal FREEZEMON.
Defekte SD-Karte kann es nicht sein, hab nachdem es aufgetreten ist eine komplett neues System auf einer anderen SD-Karte erstellt.
Das Problem trat erst nach einen Backup auf.
LG
Marlen
Mich würde ja eher ein Log interessieren und zwar direkt nach dem hängen.
Außerdem wäre interessant was hängen bedeutet. Ist die Web Oberfläche nicht erreichbar, kann noch über externe Taster geschalten werden, werden Automatisierungen noch ausgeführt? Wie ist die CPU Auslastung mittels top und/oder ps ax
Bisher ist das alles mehr wie schwammig hier.
Hängen bedeutet, ich habe https://forum.fhem.de/index.php/topic,25110.0.html (https://forum.fhem.de/index.php/topic,25110.0.html) installiert. Und das dann eben FHEM neu startet.
Deshalb schaut das log dann so aus:
019.09.16 19:41:47 3: ESPEasy A_2_Heizung: set A_2_Heizung gpio 14 off
Watchdog: kill hanging fhem pid=32421:
Starting fhem...
2019.09.16 19:51:23 1: reload: Error:Modul 99_FHEMwatch_Utils deactivated:
2019.09.16 19:51:23 1: Including fhem.cfg
2019.09.16 19:51:23 3: telnetPort: port 7072 opened
2019.09.16 19:51:24 3: WEB: port 8083 opened
2019.09.16 19:51:24 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2019.09.16 19:51:25 3: TelegramBot_Define teleBot: called
2019.09.16 19:51:25 3: Opening nanoCUL device /dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0
2019.09.16 19:51:25 3: Setting nanoCUL serial parameters to 38400,8,N,1
2019.09.16 19:51:28 3: nanoCUL: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2019.09.16 19:51:28 3: nanoCUL device opened
2019.09.16 19:51:28 2: Switched nanoCUL rfmode to HomeMatic
2019.09.16 19:51:30 3: Opening CallMonitor device 192.168.178.1:1012
2019.09.16 19:51:30 3: WEBhook: port 8088 opened
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!
2019.09.16 19:51:31 3: [Heizung_Programm_Winter] device <A_2_Heizung> in fhem not defined, but accepted
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!
LG
Marlen
Steht doch alles im log, dein watchdog killt fhem, weil das file nicht regelmäßig geschrieben wird (deactivated).
Du musst zuerst den watchdog deaktivieren, dann das fhem_watchdog_utils reparieren.
Wie schön das wir nun wissen was hängen bedeutet.
Installiere das halt vorerst einfach nicht.
Zitat von: bartman121 am 16 September 2019, 20:20:24
Steht doch alles im log, dein watchdog killt fhem, weil das file nicht regelmäßig geschrieben wird (deactivated).
Du musst zuerst den watchdog deaktivieren, dann das fhem_watchdog_utils reparieren.
Achso, aber was soll ich denn da reparieren?
sub fhem_not()
{
Wd_exec();
# alte watchdogs vorsichtshalber löschen
my $ret = `ps | grep watchdog.pl`;
my @lines = split("\n",$ret);
my @retval;
foreach my $l (@lines)
{
if($l =~m/.*perl watchdog.pl.*/)
{
my ($wpid) = split(' ',$l);
push(@retval,"killed: ".$l);
$l = `kill -9 $wpid`;
} # if watchdog
} # end foreach
Log(1,join("\n",@retval));
# und neu starten
system("./startwatchdog&");
} # end sub fhem_not
sub Wd_exec()
{
my $filename = ">./watchdog.log";
my $pid = getpid();
if (open (WATCHDOGFILE,$filename))
{
printf (WATCHDOGFILE "%d\t%d\n%s",time(),$pid,TimeNow());
close WATCHDOGFILE;
}
return undef;
} # end sub Wd_exec
...schaut doch gut aus, oder?
Wenn das nicht funktionieren würde, würde es doch alle 10 Min. FHEM killen, oder nie.....oder???
Der systemd hat einen eigenen watchdog. Schalte Deinen einfach aus.
Und was muss ich dann bei systemd machen?
Zitat von: Marlen am 16 September 2019, 21:18:21
Und was muss ich dann bei systemd machen?
Nichts. Sobald FHEM abstürzt startet der systemd fhem neu.
Aha, ist das neu?
Vor ca. 1,5 Jahren ging das aber noch nicht, deswegen hab ich das ja installiert.
Zitat von: Marlen am 16 September 2019, 21:18:21
Und was muss ich dann bei systemd machen?
Am Besten schauen, dass Du es aktuell wirklich verwendest. ;)
Querverweis: https://forum.fhem.de/index.php/topic,101819.msg974360.html#msg974360
Hmmm, ach so, das geht nur mit Buster???
Ich hab ja mein System erst neu aufgesetzt, aber hab vorsichtshalber wieder Wheezy aufgespielt, kann man das jetzt upgraden? Oder muss ich wieder alles neu aufsetzen?
LG
Marlen
Zitat von: Marlen am 16 September 2019, 22:25:56
Hmmm, ach so, das geht nur mit Buster???
Hat das jemand gesagt? Es geht um systemd - aber ich glaube fast das war erst ab jessie per default dabei.
Wenn Du heute wheezy auf ein neues System installierst bist Du aber auch selbst Schuld ::)
Mein Rat: neu aufsetzen mit einem aktuellen System. Wenn Du Angst vor Buster hast kannst Du auch stretch nehmen. Jessie ist im Herbst 2015 erschienen, damals wurde wheezy quasi alt :)
Hat aber sicher nichts mit deinem ursprünglichen "Hänger" Problem zu tun.
Gruß Otto
zu den Hängern,
seit einigenTagen haben einige Benutzer Systemhänger durch den telegrambot.
Hier scheint es Probleme beim Polling zu gehen welche FHEM minutenlang hängen lassen.
Falls Du einen Telegrambot am laufen hast setze mal zum test das Polling auf 0.
Du kannst dann aus FHEM heraus senden, aber nichts mehr an FHEM schicken.
Dann das
"Raspbian Buster Lite"?
Telebot's hab ich einige am laufen :(
Zitat von: Marlen am 17 September 2019, 12:55:29
Dann das
"Raspbian Buster Lite"?
Wäre meine Wahl :)
Dann FHEM neu installieren, damit der Dienst steht.
Dann restore des Sicherung.
Zitat von: Marlen am 17 September 2019, 12:55:29
Telebot's hab ich einige am laufen :(
Dann setzt doch da mal zum testen das Polling auf 0.
Wenn dann die Freezes weg sind ist es bei dir die gleiche Ursache.
Hab jetzt mein System mit Buster aufgesetzt und mein Backup eingespielt.
Es konnten eine Module nicht geladen werden.
- MQTT_DEVICE
- UVZ
- mailcheck
ist das normal oder was hab ich falsch gemacht?
LG
Marlen
Hi,
ich habe aktuell keins dieser Module im Einsatz, hast Du alle Voraussetzungen installiert?
z.B. mailcheck
ZitatMail::IMAPClient and IO::Socket::SSL and IO::Socket::INET hast to be installed on the FHEM host.
Ich würde allerdings immer debian Pakete installieren und nicht mittels CPAN.
Gruß Otto
Ich hab das System jetzt noch mal versucht neu aufzusetzen, ich hab mir das mal notiert, wie ich das mache, in welcher Reihenfolge ich wie und was installiere.
Bevor ich FHEM installiere hab ich mir notiert, mit
sudo apt-get -f install && sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl
Systemvorraussetzungen schaffen.
Doch das funktioniert nicht, hier erhalte ich:
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'perl' instead of 'libmime-base64-perl'
Package libusb-1.0-0-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libmail-imapclient-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libgd-graph-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libtext-csv-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libxml-simple-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package liblist-moreutils-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package ttf-liberation is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libimage-librsvg-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libgd-text-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libimage-info-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libmail-imapclient-perl' has no installation candidate
E: Package 'libgd-graph-perl' has no installation candidate
E: Package 'libtext-csv-perl' has no installation candidate
E: Package 'libxml-simple-perl' has no installation candidate
E: Package 'liblist-moreutils-perl' has no installation candidate
E: Package 'ttf-liberation' has no installation candidate
E: Package 'libimage-librsvg-perl' has no installation candidate
E: Package 'libgd-text-perl' has no installation candidate
E: Package 'libimage-info-perl' has no installation candidate
E: Package 'libusb-1.0-0-dev' has no installation candidate
E: Unable to locate package libnet-server-perl
Oh man, was ist das???
für -f hab ich mal nen Anschiss gekriegt :)
https://forum.fhem.de/index.php/topic,97720.msg910874.html#msg910874
apt-get update hast Du vorher sicher gemacht.
Du kannst diese Zeile so jetzt nicht verwenden!
Setzt Dich hin, installiere jedes Paket einzeln und löse die Fehler auf. Kann schon sein, dass Du manches Paket durch ein anders ersetzen musst. Google hilft mir da immer. Ich weiß ist Arbeit, aber geht nicht anders.
Gruß Otto
Systemvoraussetzungen schaffen:
- für fhem (generell!?)!? -> unnötig, wenn du die "simple Variante" machst
- für Module/Dinge die du über "Standard-fhem" hinaus nutzt!?
-> mache ich (wie Otto geschrieben hat) einzeln und überlege (beim neu Aufsetzen), ob ich das noch nutze(n will) und ob ich das wirklich brauche (auch, ob das Modul das [so] noch braucht) unabhängig von Notizen (die nehm ich mal als "Anhaltspunkt"). Und ich will sehen was passiert, ich lasse sogar -y weg, das bisschen bestätigen kann ich auch noch machen... ;)
Wenn fhem nach "simplen Weg" läuft, Backup einspielen, dann wird ja gemeldet, was fehlt...
Ich versuche beim neu Aufsetzen auch immer unnötigen Kram loszuwerden... ;)
Und v.a. läuft das System ja wieder eine Weile (zumindest ist das mein Plan ;) ) und da soll es möglichst "sauber" sein...
Aber wie geschrieben: mein Vorgehen...
EDIT: bzgl. Hänger passt wohl das Telgram. Scheint wohl tatsächlich alle 30min "zuzuschlagen... https://forum.fhem.de/index.php/topic,38328.msg975847.html#msg975847
Viel Erfolg, Joachim
Zitat von: Frank_Huber am 17 September 2019, 13:04:47
Dann setzt doch da mal zum testen das Polling auf 0.
Wenn dann die Freezes weg sind ist es bei dir die gleiche Ursache.
Moin Moin,
und, hast das mal getestet?
Zitat von: Frank_Huber am 19 September 2019, 08:22:10
Moin Moin,
und, hast das mal getestet?
Nein, das konnte ich noch nicht testen, bin ja noch beim aufsetzen eines neuen System's mit Buster, was gerade nicht so erfolgreich ist.
Ah, OK. Dachte das machst vorher.
Weil dann ja das neu aufsetzen evtl gar nicht nötig wäre. [emoji6]
Gesendet von meinem S60 mit Tapatalk
Zitat von: MadMax-FHEM am 19 September 2019, 07:34:30
Wenn fhem nach "simplen Weg" läuft, Backup einspielen, dann wird ja gemeldet, was fehlt...
Naja, ...wird gemeldet.... das ist nicht so, zumindest bei mir.
Da kommt nur das das MQTT_Device nicht angelegt werden konnte.
Normalerweise steht aber im Log WARUM nicht...
Es gibt auch ein "Installer-Modul", welches auch (versucht zu) sagt was welches Modul benötigt...
...liegt (glaub ich) im contrib-Verzeichnis...
Gruß, Joachim
Zitat von: MadMax-FHEM am 19 September 2019, 07:34:30
Und ich will sehen was passiert, ich lasse sogar -y weg, das bisschen bestätigen kann ich auch noch machen... ;)
Wie Joachim sagt: -y kann man machen wenn es läuft. Beim Probieren ist mehr als ein Modul und -y kontraproduktiv weil die eventuellen Meldungen "wegfliegen" und das ganze schnell ganz unübersichtlich wird.
Viel Erfolg
Otto