NEWS
Warum stürzt javascript-Instanz mit diesem Blockly ab?
-
bist du sicher das sie abstürzt, und nicht nur beschäftigt ist mit dem Hochzählen und logs schreiben ? Du erzeugst da doch einiges an Last auf dem JS System, was nicht dafuer gemacht ist, lange Aufgaben synchron abzuarbeiten.
A.
-
Korrekt. Die Frage ist was „abstürzen“ heißt. ich tippe auf „reconnection to dB“ Meldung und sowas. Und ja dann blockiert das mehr als 20sekunden.
-
Sorry für die späte Rückmeldung. Es scheint schlicht nichts zu passieren, der debug-Befehl startet keinerlei Ausgabe und die Javascript Instanz ist sofort auf rot.
Das mit der Last könnte ich schon nachvollziehen, bzw. war auch meine Idee. Aber ich verstehe das ganze doch als Multitasking. Das System müsste doch den verschiedenen Skripten unterschiedliche Ressourcen zur Verfügung stellen, denn es werden ja auch Scripte parallel abgearbeitet. Dieses Skript aber gibt keine Ausgabe. Ein bestimmter Umstand bringt also die Instanz zum Stoppen. Und müsste es nicht erst mal anlaufen, um dem System zu verstehen zu geben, dass die Last zu hoch ist? -
Ok, ich ergänze noch ein wenig:
Ich hatte nochmal die Doku des Javascript-Adapters überflogen und dort gelesen, dass man zwei Instanzen von javascript installieren soll. Eine zum Test und eine Produktiv. Gestern gab es ein Update des Javascript-Adapters. Vor dem Update zeigte sich das oben beschriebene Verhalten. Jetzt bleibt die Instanz auf grün, im Log steht aber merkwürdigerweise das:
host.debianioBroker 2019-02-24 13:19:55.767 info Restart adapter system.adapter.javascript.1 because enabled
host.debianioBroker 2019-02-24 13:19:55.766 error instance system.adapter.javascript.1 terminated with code 7 (Adapter already running)
mihome.0 2019-02-24 13:19:53.464 info Change connection status on timeout after 20000ms: false
host.debianioBroker 2019-02-24 13:19:51.885 info instance system.adapter.javascript.1 started with pid 2659
host.debianioBroker 2019-02-24 13:19:21.866 info Restart adapter system.adapter.javascript.1 because enabled
host.debianioBroker 2019-02-24 13:19:21.866 error instance system.adapter.javascript.1 terminated with code 7 (Adapter already running)
host.debianioBroker 2019-02-24 13:19:18.008 info instance system.adapter.javascript.1 started with pid 2649
host.debianioBroker 2019-02-24 13:18:47.991 info Restart adapter system.adapter.javascript.1 because enabled
host.debianioBroker 2019-02-24 13:18:47.991 error instance system.adapter.javascript.1 terminated with code 7 (Adapter already running)
host.debianioBroker 2019-02-24 13:18:44.140 info instance system.adapter.javascript.1 started with pid 2639
host.debianioBroker 2019-02-24 13:18:14.108 info Restart adapter system.adapter.javascript.1 because enabled
host.debianioBroker 2019-02-24 13:18:14.107 error instance system.adapter.javascript.1 terminated with code 7 (Adapter already running)
host.debianioBroker 2019-02-24 13:18:10.075 info instance system.adapter.javascript.1 started with pid 2629Die Instanz wird nicht gestartet, da sie schon läuft!?
Also erst mal einen Schritt zurück. Warum startet die Instanz nicht? Es wird doch empfohlen, sie zweimal zu installieren. Die Einstellungen sind gleich. -
@XxJooO sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
Die Instanz wird nicht gestartet, da sie schon läuft!?
nein, der Prozess läuft irgendwie doppelt und die Instanz wird dauernd nochmal gestartet, was wieder zur Beendigung führt.
jetzt hängt das in einer DauerschleifeBei Code7 bitte den RasPi rebooten (brutaler weg) oder den doppelten Prozess auf der Konsole sauber killen und dann die Instanz neu starten
-
Danke, ich habe mit "sudo iobroker stop" gestoppt und dann die Meldung bekommen:
No "killall.sh" script found. Just stop.
Die zweite Instanz von javascript läuft jetzt nach reboot ohne Fehlermeldung. Soweit so gut.
Die Meldung zum fehlenden "killall.sh" sehe ich heute zum ersten Mal. In /opt/iobroker existiert aber die Datei killall.sh. Nach dem, was im Netz steht kann ich den Hinweis ignorieren. Würde mich aber trotzdem interessieren, warum die Meldung kommt. Und muss ich mir Sorgen machen?
-
@XxJooO sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
Danke, ich habe mit "sudo iobroker stop" gestoppt
Das war nicht was ich schrieb.
@Homoran sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
bitte den RasPi rebooten
@XxJooO sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
No "killall.sh" script found. Just stop.
Das ist anscheinend die Ursache des Desasters, warum auch immer
-
@Homoran sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
Bei Code7 bitte den RasPi rebooten (brutaler weg) oder den doppelten Prozess auf der Konsole sauber killen und dann die Instanz neu starten
Hättest Du ihm einfach den Strom geklaut? Mir schien sinnvoller
cd /opt/iobroker
sudo iobroker stop
sudo rebootzu machen.
-
@XxJooO sagte in Warum stürzt javascript-Instanz mit diesem Blockly ab?:
Hättest Du ihm einfach den Strom geklaut?
Nein, einen REBOOT
sudo reboot
oder sauber einen kill des Prozesses
sudo kill -9 <PID>
Wobei <PID> die Betreffende Prozess ID ist
Der Fehler liegt auf Linux ebene - nicht auf ioBroker-Ebene, ein Restart von ioBroker hilft dann nicht
-
Hm, ok, würdest Du es jetzt für sinnvoll halten, neu zu installieren und ein Backup ein zu spielen, oder gibt es eine andere Möglichkeit? Leider fehlen mir die Linux-Kenntnisse...