NEWS
Javascript läuft nicht mehr..
-
Hallo zusammen,
leider habe ich seit gestern Probleme mit Javascript.. habe schon alles mögliche probiert, leider ohne Erfolg.
Vielleicht kennt ja jemand von Euch das Problem und kann mir den entscheidenden Hinweis geben:
Javscript meldet seit gestern beim Start eines Scripts:
error at new Script (node:vm:100:7) error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1647:28) error var switch = {}; script.js.common.Reed compile failed: at script.js.common.Reed:2 error at processImmediate (node:internal/timers:468:21) error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1900:37) error at Object.createScript (node:vm:257:10) error at new Script (node:vm:100:7) error ^^^^^^
mein Biobroker läuft derzeit mit folgender Konfiguration:
PlatformBetriebssystem:linux Architektur:arm CPUs:4 Geschwindigkeit:1500 MHz Modell:ARMv7 Processor rev 3 (v7l) RAM:3.7 GB System-Betriebszeit:00:33:24 Node.js:v16.16.0 time:1659097676934 timeOffset:-120 Adapter-Anzahl:423 NPM:8.11.0 Datenträgergröße:29.0 GB freier Festplattenspeicher:21.8 GB Betriebszeit:00:10:57 Aktive Instanzen:19 Pfad:/opt/iobroker/
Vielen Dank schonmal.. .
Viele Grüße
Joe -
Das scheint mir aber eher was im skript selber zu sein. Die Basis ist aber i.O.?
Schau mitsudo ln -s /usr/bin/node /usr/bin/nodejs uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
nach.
-
@thomas-braun Vielen Dank für die schnelle Antwort:
habe:
uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.16.0 v16.16.0 8.11.0 pi /opt/iobroker OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 https://deb.nodesource.com/node_16.x buster InRelease OK:3 http://archive.raspberrypi.org/debian buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 136 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen. nodejs: Installiert: 16.16.0-deb-1nodesource1 Installationskandidat: 16.16.0-deb-1nodesource1 Versionstabelle: *** 16.16.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
ausgeführt, der Fehler besteht aber leider weiterhin.
-
@joemuc sagte in Javascript läuft nicht mehr..:
der Fehler besteht aber leider weiterhin.
Das ist ja auch nur zum schauen, wie du da so unterwegs bist.
System pflegen! Das tust du offenbar nie.iobroker stop sudo apt update sudo apt full-upgrade sudo reboot
-
Upps... muss gestehen, dass er jetzt Ewigkeiten super gelaufen ist und ich nicht drauf geschaut habe.
Mach ich sofort... Danke Dir..Viele Grüße
Joe -
@joemuc sagte:
compile failed: at script.js.common.Reed:2
Was steht in diesem Skript in den ersten Zeilen?
Ist ein Skript der Gruppe "global" aktiv? (Expertenmodus) -
So, jetzt ist alles aktuell:
uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.16.0 v16.16.0 8.11.0 pi /home/pi OK:1 http://archive.raspberrypi.org/debian buster InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 https://deb.nodesource.com/node_16.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell. nodejs: Installiert: 16.16.0-deb-1nodesource1 Installationskandidat: 16.16.0-deb-1nodesource1 Versionstabelle: *** 16.16.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
Leider immer noch der gleiche Fehler
-
Hallo Paul,
die Skripte liefen jetzt ca. 1,5 Jahredie erste Zeile des Skripts ist:
on({id: "mqtt.0.WEMOS_D1_2.Door.State", change: "any"}, function (obj) {
Vielen Dank für die Hilfe.
LG Joe
-
@joemuc sagte in Javascript läuft nicht mehr..:
Leider immer noch der gleiche Fehler
Ja, aber die Basis ist besser. Beim Fehler im Skript muss dir @paul53 helfen, da hab ich keine Ahnung von.
-
@joemuc sagte: die erste Zeile des Skripts ist:
Zeilen 2 und 3? Es wird Zeile 2 angemeckert.
Skripte unter "global"? -
Das habe ich noch in den Logs gefunden:
host.raspberrypi
2022-07-29 15:29:06.495 info Restart adapter system.adapter.javascript.0 because enabled
host.raspberrypi
2022-07-29 15:29:06.493 info instance system.adapter.javascript.0 terminated with code 0 (NO_ERROR)
host.raspberrypi
2022-07-29 15:29:36.685 info instance system.adapter.javascript.0 started with pid 2749Scheint so, als würde der Javascript Adapter nicht stabil laufen.
-
@joemuc sagte: in den Logs gefunden:
RAM knapp? Schau mal mit
top
. -
hatte die Skripte bisher unter common (ohne Probleme). wenn ich den Script nach global verschiebe ist zumindest die ursprüngliche Fehlermeldung weg.
Der Script schaut im kompletten so aus:
on({id: "mqtt.0.WEMOS_D1_2.Door.State", change: "any"}, function (obj) { log("---------------------------------- Test log-------------------------------------") });
unter common kommt der Fehler, unter global nicht.
Problem ist allerdings, das der Script unter global nicht auslöst auch wenn ich den State des Datenpunktes ändere.
Aber ich mache mich da mal auf die Suche was das Problem sein könnte..
Vielen Dank schonmal für die schnelle Hilfe!
-
top - 15:37:45 up 24 min, 2 users, load average: 0,96, 0,97, 0,90 Tasks: 173 total, 2 running, 171 sleeping, 0 stopped, 0 zombie %Cpu(s): 9,4 us, 4,2 sy, 0,0 ni, 85,7 id, 0,0 wa, 0,0 hi, 0,7 si, 0,0 st MiB Mem : 3838,7 total, 1837,7 free, 1320,5 used, 680,5 buff/cache MiB Swap: 100,0 total, 100,0 free, 0,0 used. 2631,2 avail Mem
2631,2 avail Mem sollte reichen...
-
@joemuc sagte: Der Script schaut im kompletten so aus:
Die Fehlermeldung zu Zeile 2 ist eine andere:
error var switch = {};
Ist nicht noch ein Skript unter "global" aktiv.
@joemuc sagte in Javascript läuft nicht mehr..:
wenn ich den Script nach global verschiebe
Skripte mit Triggern niemals unter "global" speichern!!
@joemuc sagte in Javascript läuft nicht mehr..:
2631,2 avail Mem sollte reichen...
Ja, wenig RAM ist offenbar nicht das Problem.
-
@joemuc sagte in Javascript läuft nicht mehr..:
2631,2 avail Mem sollte reichen...
aber die Kiste läuft erst seit
@joemuc sagte in Javascript läuft nicht mehr..:
up 24 min
interessant wird es wie es nach längerem Zeit aussieht
-
ich habe alle Skripte unter common und global deaktiviert:
Wenn ich den Skript unter common starte kommt folgender Fehler:
error at processImmediate (node:internal/timers:468:21) error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1472:17) error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2001:17 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1900:37) error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1647:28) error at Object.createScript (node:vm:257:10) error at new Script (node:vm:100:7) error SyntaxError: Unexpected token 'switch' error ^^^^^^ error var switch = {}; error script.js.common.Test compile failed: at script.js.common.Test:2
unter global kommt der Fehler nicht, allerdings reagiert er auch nicht auf den Trigger..
Ich werde wohl das System mal neu aufsetzen müssen
Der Skript beinhaltet nur:
on({id: "mqtt.0.WEMOS_D1_2.Door.State", change: "any"}, function (obj) { log("---------------------------------- Test log-------------------------------------") });
-
-
@joemuc sagte in Javascript läuft nicht mehr..:
Noch schaut es gut aus, ich beobachte es weiter
top - 16:07:15 up 53 min, 2583,9 avail Mem
top zeigt immer nur eine Momentaufnahme.
Wenn jedoch etwas vom SWAP angeknabbert wurde, hatte der RAM nicht ausgereicht. -
@joemuc sagte:
error SyntaxError: Unexpected token 'switch' error ^^^^^^ error var switch = {};
In Javascript ist
switch
ein reserviertes Wort.