Node-Blue: Fehlermeldung "Your packet processing is too slow"

Hallo,

bei mir läuft das Homegear nightly Version 0.8.0-2611 auf einem RaspberryPi 3 unter Raspbian Stretch.

Mir ist in homegear.err in letzter Zeit häufiger folgende Fehlermeldung aufgefallen:

„Error: More than 1000 methods are queued to be sent to server hgflows-…… Your packet processing is too slow. Dropping method. This message won’t repeat for 10 seconds. Dropped outputs since last message: 61“

Eigentlich habe ich aber an meinen Flows nicht viel geändert und gemäß Anzeige der „load average“ von „top“ ist die CPU-Auslastung des Raspi eher gering.

Kann ich irgendwie feststellen, welcher Node eine hohe Anzahl von Messages erzeugt oder wieso es zu der langen Message-Queue kommt ?

Bei Debug Level 5 werden die Messages zwar im Logfile angezeigt, aber das ist schwierig auszuwerten.

Vielen Dank.

Viele Grüße

Five Eights

Hallo @FiveEights,

das sieht so aus, als sei da ein Remote-RPC-Client nicht erreichbar, und zwar ein WebSocket-Client (hgflows-...). Auf den ersten Blick hat das mit Node-BLUE direkt gar nichts zu tun, höchstens ist ein Frontend von Homegear aus nicht erreichbar. Bis auf die Fehlermeldung, hast du vermutlich keine merklichen Auswirkungen, oder? Jeder Client bekommt seine eigene Queue und eine Queue läuft bei dir voll. Wenn sämtliche Browsertabs geschlossen sind, ist vermutlich keine Fehlermeldung im Log? Funktioniert das Node-BLUE-Frontend bei dir einwandfrei?

Eine Liste aller Clients bekommst du übrigens mit:

homegear -r
rpcclients

Der im Log aufgeführte Client müsste in dieser Liste aufgeführt sein. Ein längerer Logausschnitt auf Loglevel 4 würde vermutlich bereits reichen, um das Problem zu zeigen.

Viele Grüße

Sathya

Hallo Sathya,

vielen Dank für die zeitnahe Rückmeldung!

Node-Blue funktioniert bei mir problemlos, reagiert nur bei der vollen Queue sehr träge – was natürlich wenig verwunderlich ist. Ich frage mich jetzt, ob ich Homegear auf einer stärkeren Hardware laufen lassen muss als der Raspi 3 oder ob ich das anders lösen kann.

Über das Wochenende habe ich versucht, das Issue zu analysieren.
Trotz der ausführlichen Erklärung habe ich aber leider immer noch nicht ganz verstanden, wo die Ursache liegt und ich konnte das Verhalten auch nicht reproduzieren.

Node-Blue verbindet sich also als Client mit dem RPC-Server, richtig ?

Bei mir läuft nur ein RPC-Server auf Port 2001, die anderen sind deaktviert:

Name                  Interface               Port    SSL   Auth
FamilyRPCServer       ::1                     2000  false   none
RPCServer1            ::                      2001  false   none

Hier die Ausgabe von rpcclient, wenn Node-Blue im Browser geöffnet ist:

Server FamilyRPCServer (Port: 2000):
Client ID Address Init URL Init ID XML-RPC Binary RPC JSON-RPC Websocket

Server RPCServer1 (Port: 2001):
Client ID Address Init URL Init ID XML-RPC Binary RPC JSON-RPC Websocket
1074 ::ffff:192.168.178.23 Single connection rpc-client-::ffff:192.168.178… false false false true

192.168.178.23 ist die IP-Adresse meines PCs, auf dem der Browser läuft.

Hier noch ein Logfile auf Debug Level 5.

homegear.log (482,7 KB)

Ich hoffe, das hilft Dir schon weiter.
Bitte melde Dich, wenn Du noch weitere Informationen brauchst.

Viele Grüße

FiveEights

In dem Log ist der Fehler nicht… Loglevel 4 würde zunächst einmal reichen. Wichtig ist, dass das Log vom Homegear-Start bis zum Fehler reicht.

Ich frage mich jetzt, ob ich Homegear auf einer stärkeren Hardware laufen lassen muss als der Raspi 3 oder ob ich das anders lösen kann.

Nein, die Hardware ist mehr als ausreichend. Für Homegear ist der Pi massiv überdimensioniert.

Node-Blue verbindet sich also als Client mit dem RPC-Server, richtig ?

Die Node-BLUE-Visualisierung (das, was du im Webbrowser öffnest) verbindet sich über WebSocket mit Homegear. Es sieht so aus (wegen hgflows-...), dass Homegear versucht an einen solchen Pakete zu senden. rpcclients ist in obigem Fall unauffällig. Interessant wäre, was rpcclients anzeigt, wenn der Fehler auftritt.

Viele Grüße

Sathya