[0.8.0-2666] Node-BLUE Server Error - Flow lässt sich nicht mehr starten

Hallo,

bei mir läuft das aktuelle Nightly Version 0.8.0-2666 auf einem Raspi 3 unter Raspbian Stretch.

Nachdem ich an einigen Flows in Node-Blue ein paar Änderungen vorgenommen habe, lässt sich mindestens ein Flow nicht mehr starten.

Ich habe zum ersten Mal den „Change“ Node eingebaut und ich habe den Verdacht, dass dieser die Ursache ist, kann das aber nicht bestätigen.

Hier ein Auszug aus homegear.log:

06/07/19 09:48:29.747 Node-BLUE Server: Info: Starting Flows…
06/07/19 09:48:29.840 Node-BLUE Server: Info: Starting flow with id 146.
06/07/19 09:48:29.893 Node-BLUE Server: Info: Starting flow with id 147.
06/07/19 09:48:29.908 Node-BLUE Server: Info: Connection to flows server’s client number 59 closed.
06/07/19 09:48:29.908 Node-BLUE Server: Critical: Client process with pid 4161 was killed with signal 11.
06/07/19 09:48:29.909 Info: Flow with id 146 finished with exit code -32500
06/07/19 09:48:29.909 Info: Flow with id 147 finished with exit code -32500
06/07/19 09:48:29.909 Info: Process with id 4161 ended.
06/07/19 09:48:30.894 Node-BLUE Server: Error: No or invalid response received to RPC request. Method: startFlow.
06/07/19 09:48:30.895 Node-BLUE Server: Error: Could not execute flow: No response received.
06/07/19 09:48:30.895 Info: Flow with id 147 finished with exit code -1
06/07/19 09:48:30.895 Node-BLUE Server: Info: Starting flow with id 148.
06/07/19 09:48:30.907 Node-BLUE Server: Info: Starting flow with id 149.
06/07/19 09:48:30.999 Node-BLUE Server: Info: Starting flow with id 150.

Wie kann ich die IDs der Flows aus dem Logfile den Flows in der GUI zuordnen um einzugrenzen, welcher Flow das Issue verursacht bzw. wie kann ich idealerweise gleich den relevanten Node herausfinden ?

Vielen Dank.

Viele Grüße

FiveEights

Hallo @FiveEights,

vielleicht kommen wir ganz leicht an die Ursache des Problems. Und zwar müsste irgendwo ein Coredump geschrieben worden sein (z. B. /var/lib/homegear/core, /var/log/homegear/core oder /data/homegear-data/core). Dieses lässt sich folgendermaßen analysieren:

systemctl stop homegear
apt install gdb libc6-dbg libstdc++6-6-dbg
gdb homegear /var/lib/homegear/core
where
thread apply all bt

Die Ausgabe poste mal. Das zeigt, wo der Fehler ausgelöst wird. Die change-Node kann tatsächlich sein, da diese ganz neu ist. Du könntest auch die change-node aus der flows.json (im Nicht-Readonly-Image unter /var/lib/homegear/node-blue/data) händisch entfernen und schauen, ob alles wieder funktioniert.

sed -i '/"type":"change"/"type":"change2"/g' flows.json

Viele Grüße

Sathya

Hallo Satya,

vielen Dank für das schnelle Feedback ! Da könnte so mancher kommerzieller Software-Provider sich ein Scheibchen abschneiden :wink:

Ich habe mittlerweile die Change-Nodes aus dem Flow entfernt und jetzt taucht die Fehlermeldung nicht mehr auf. Es scheint also wirklich an diesem Node zu liegen.

Vielleicht kannst Du das ja auf Basis der angehängten Auswertungen des Core-Dumps bestätigen:

gdb_where.txt (5,2 KB)

gdb_thread_bt.txt (39,4 KB)

Viele Grüße

FiveEights

1 Like

Hallo @FiveEights,

vielen Dank für die Auswertung! Das Problem war direkt sichtbar (Zugriff auf einen ungültigen Iterator) und der Fehler ist im nächsten Nightly behoben.

Viele Grüße

Sathya

1 Like

Super, dann freue ich mich schon auf den überarbeiteten Change-Node! Den kann ich nämlich an ein paar Stellen in meinen Flows gut gebrauchen.

Ich mache bei Gelegenheit mal ein Update auf ein neues Nightly und teste dann wieder.

Viele Grüße

FiveEights

1 Like