NEWS
[gelöst] js-controller mit Fehlermeldung
-
Seitdem ich gestern den Simple-Api Adapter installiert habe, komme ich nicht mehr in den Broker rein...(admin)
iobroker status liefert :
pi@raspberrypi:/opt/iobroker $ iobroker status iobroker is not running on this host. Objects type: file States type: file
Die admin.0 Instanz ist vorhanden und schaut ok aus
pi@raspberrypi:/opt/iobroker $ iobroker list instances system.adapter.admin.0 : admin : raspberrypi - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.backitup.0 : backitup : raspberrypi - enabled system.adapter.cloud.0 : cloud : raspberrypi - enabled system.adapter.discovery.0 : discovery : raspberrypi - enabled system.adapter.hm-rega.0 : hm-rega : raspberrypi - enabled
Wenn ich nun den Controller manuell starte, bekomme ich im sys-log eine Fehlermeldung und der Controller wird wohl nicht gestartet:
Jan 4 09:40:13 raspberrypi systemd[1]: iobroker.service: Consumed 2.032s CPU time. Jan 4 09:40:13 raspberrypi systemd[1]: iobroker.service: Scheduled restart job, restart counter is at 14. Jan 4 09:40:13 raspberrypi systemd[1]: Stopped ioBroker Server. Jan 4 09:40:13 raspberrypi systemd[1]: iobroker.service: Consumed 2.032s CPU time. Jan 4 09:40:13 raspberrypi systemd[1]: Started ioBroker Server. Jan 4 09:40:15 raspberrypi bash[2560]: Error initializing logger: Unexpected token 'true' Jan 4 09:40:15 raspberrypi bash[2560]: /opt/iobroker/node_modules/iobroker.js-controller/main.js:4556 Jan 4 09:40:15 raspberrypi bash[2560]: logger.activateDateChecker(true, config.log.maxDays); Jan 4 09:40:15 raspberrypi bash[2560]: ^ Jan 4 09:40:15 raspberrypi bash[2560]: TypeError: Cannot read properties of undefined (reading 'activateDateChecker') Jan 4 09:40:15 raspberrypi bash[2560]: at Object.init (/opt/iobroker/node_modules/iobroker.js-controller/main.js:4556:16) Jan 4 09:40:15 raspberrypi bash[2560]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:8:19) Jan 4 09:40:15 raspberrypi bash[2560]: at Module._compile (node:internal/modules/cjs/loader:1101:14) Jan 4 09:40:15 raspberrypi bash[2560]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) Jan 4 09:40:15 raspberrypi bash[2560]: at Module.load (node:internal/modules/cjs/loader:981:32) Jan 4 09:40:15 raspberrypi bash[2560]: at Function.Module._load (node:internal/modules/cjs/loader:822:12) Jan 4 09:40:15 raspberrypi bash[2560]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) Jan 4 09:40:15 raspberrypi bash[2560]: at node:internal/main/run_main_module:17:47 Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Main process exited, code=exited, status=1/FAILURE Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Failed with result 'exit-code'. Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Consumed 2.030s CPU time. Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Scheduled restart job, restart counter is at 15. Jan 4 09:40:15 raspberrypi systemd[1]: Stopped ioBroker Server. Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Consumed 2.030s CPU time. Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Start request repeated too quickly. Jan 4 09:40:15 raspberrypi systemd[1]: iobroker.service: Failed with result 'exit-code'. Jan 4 09:40:15 raspberrypi systemd[1]: Failed to start ioBroker Server.
Irgendwas haut da mit
"logger.activateDateChecker(true, config.log.maxDays);"
nicht hin.Gefunden habe ich diese Methode in der Datei
iobroker/node_modules/winston/node_modules/async/wrapSync.jsHabe schon alles versucht:
neuen Controller installiert....Fix durchlaufen lassen....uploads....Was bleibt mir? iobroker löschen und komplett neu aufsetzen?
Backup brachte auch nichts...
Bisher lief er einwandfrei...schade...LG
Systemdata Bitte Ausfüllen Hardwaresystem: Pi3 Arbeitsspeicher: 1GB Festplattenart: SD-Karte Betriebssystem: Rasbian Node-Version: 16.13.1 Nodejs-Version: 16.13.1 NPM-Version: 8.1.2 Installationsart: Skript Image genutzt: Nein -- -- -
@porterricks node und npm auf die richtige version bringen
https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian -
@crunchip
hmm.. die Versionen müßten soweit aktuell sein.
Aber etwas Anderes macht mich gerade stutzigpi@raspberrypi:/opt/iobroker $ node -v v16.13.1 pi@raspberrypi:/opt/iobroker $ npm -v 8.1.2 pi@raspberrypi:/opt/iobroker $ nodejs -v -bash: nodejs: Kommando nicht gefunden.
oder auch bei
pi@raspberrypi:/opt/iobroker $ which node npm /usr/bin/node /usr/bin/npm pi@raspberrypi:/opt/iobroker $ which nodejs pi@raspberrypi:/opt/iobroker $
Da stimmt tatsächlich wohl was mit nodejs nicht
und bei mir existiert nicht /usr/bin/nodejsJedoch
pi@raspberrypi:/opt/iobroker $ sudo apt policy nodejs nodejs: Installiert: 16.13.1-deb-1nodesource1 Installationskandidat: 16.13.1-deb-1nodesource1 Versionstabelle: *** 16.13.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main armhf Packages 100 /var/lib/dpkg/status 12.22.5~dfsg-2~11u1 500 500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
Da lese ich jetzt was von "installiert"
Nun bin ich leider kein Linux Eperte.
Müßte usr/bin/nodejs existieren ? Und ist da evtl nur ein Symlink zerschossen worden? Oder sollte ich nodejs komplett neu installieren?Und warum kriege ich immer einen Error, wenn ich posten will? hmm
-
In meiner Signatur findet sich wie man node richtig installiert.
Warum hast du dir da node16 ans Bein gebunden? Das ist nicht die für den ioBroker vorgesehene Version.nodesource.list auf 14 editieren und dann gezielt die aktuelle 14er-Version reinladen sollte ausreichen.
-
Die Node-Version (noch die npm-Version) sollte aber nichts mit einem
TypeError
zu tun haben. Mein dev-System läuft übrigens auch einwandfrei mit Node 16, inklusive ioBroker.
-
@thomas-braun
Warum? Weil iobroker das "angemeckert" hat
Bin auch erst seit 1 Monat dabei, mich mit dem Broker zu beschäftigen...
Lese auch viel...aber das mit der empfohlenen 14er Version hab ich wohl überlesen...Ok... werde ich mich mal dransetzen...
Danke soweit -
@alcalzone
Richtig, meins auch.
Aber um genauer zu schauen würde ich das runtime environment halt auf was anerkannt stabiles setzen. Auch für das weitere Leben mit dem ioBroker. Sonst rennste nächste Woche dann in ein Issue was wirklich mit npm8 oder nodejs16 zu tun hat. -
@porterricks sagte in [Problem] js-controller mit Fehlermeldung:
Warum? Weil iobroker das "angemeckert" hat
Das hat aber nicht gesagt, dass node16 installiert werden soll.
-
@PorterRicks kannst du mal bitte die Datei
/opt/iobroker/node_modules/iobroker.js-controller/main.js
mit einem Editor bearbeiten? Zeile 4556
vonconsole.error(`Error initializing logger: ${e.message}`);
zu
console.error(`Error initializing logger: ${e.stack}`);
ändern. Ggf. sieht man dann, wo es hängt.
-
@alcalzone said in [Problem] js-controller mit Fehlermeldung:
console.error(
Error initializing logger: ${e.stack}
);Das ist ja jetzt interessant...
Aber erst mal die log von der sysJan 4 14:22:06 raspberrypi systemd[1]: Started ioBroker Server. Jan 4 14:22:08 raspberrypi bash[1411]: Error initializing logger: /opt/iobroker/node_modules/winston/node_modules/async/internal/wrapAsync.js:4 Jan 4 14:22:08 raspberrypi bash[1411]: raluez true#016}); Jan 4 14:22:08 raspberrypi bash[1411]: ^^^^ Jan 4 14:22:08 raspberrypi bash[1411]: SyntaxError: Unexpected token 'true' Jan 4 14:22:08 raspberrypi bash[1411]: at Object.compileFunction (node:vm:352:18) Jan 4 14:22:08 raspberrypi bash[1411]: at wrapSafe (node:internal/modules/cjs/loader:1031:15) Jan 4 14:22:08 raspberrypi bash[1411]: at Module._compile (node:internal/modules/cjs/loader:1065:27) Jan 4 14:22:08 raspberrypi bash[1411]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) Jan 4 14:22:08 raspberrypi bash[1411]: at Module.load (node:internal/modules/cjs/loader:981:32) Jan 4 14:22:08 raspberrypi bash[1411]: at Function.Module._load (node:internal/modules/cjs/loader:822:12) Jan 4 14:22:08 raspberrypi bash[1411]: at Module.require (node:internal/modules/cjs/loader:1005:19) Jan 4 14:22:08 raspberrypi bash[1411]: at require (node:internal/modules/cjs/helpers:102:18) Jan 4 14:22:08 raspberrypi bash[1411]: at Object.<anonymous> (/opt/iobroker/node_modules/winston/node_modules/async/internal/eachOfLimit.js:19:18) Jan 4 14:22:08 raspberrypi bash[1411]: at Module._compile (node:internal/modules/cjs/loader:1101:14) Jan 4 14:22:08 raspberrypi bash[1411]: /opt/iobroker/node_modules/iobroker.js-controller/main.js:4557 Jan 4 14:22:08 raspberrypi bash[1411]: logger.activateDateChecker(true, config.log.maxDays); Jan 4 14:22:08 raspberrypi bash[1411]: ^ Jan 4 14:22:08 raspberrypi bash[1411]: TypeError: Cannot read properties of undefined (reading 'activateDateChecker') Jan 4 14:22:08 raspberrypi bash[1411]: at Object.init (/opt/iobroker/node_modules/iobroker.js-controller/main.js:4557:16) Jan 4 14:22:08 raspberrypi bash[1411]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:8:19) Jan 4 14:22:08 raspberrypi bash[1411]: at Module._compile (node:internal/modules/cjs/loader:1101:14) Jan 4 14:22:08 raspberrypi bash[1411]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) Jan 4 14:22:08 raspberrypi bash[1411]: at Module.load (node:internal/modules/cjs/loader:981:32) Jan 4 14:22:08 raspberrypi bash[1411]: at Function.Module._load (node:internal/modules/cjs/loader:822:12) Jan 4 14:22:08 raspberrypi bash[1411]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) Jan 4 14:22:08 raspberrypi bash[1411]: at node:internal/main/run_main_module:17:47 Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Main process exited, code=exited, status=1/FAILURE Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Failed with result 'exit-code'. Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Consumed 2.031s CPU time. Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Scheduled restart job, restart counter is at 42. Jan 4 14:22:08 raspberrypi systemd[1]: Stopped ioBroker Server. Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Consumed 2.031s CPU time. Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Start request repeated too quickly. Jan 4 14:22:08 raspberrypi systemd[1]: iobroker.service: Failed with result 'exit-code'. Jan 4 14:22:08 raspberrypi systemd[1]: Failed to start ioBroker Server.
Zumindest für mich interessant: Diese Meldung mit dem
Jan 4 14:22:08 raspberrypi bash[1411]: Error initializing logger: /opt/iobroker/node_modules/winston/node_modules/async/internal/wrapAsync.js:4 Jan 4 14:22:08 raspberrypi bash[1411]: raluez true#016}); Jan 4 14:22:08 raspberrypi bash[1411]: ^^^^
Dieses "raluez true#16 " hatte ich letzte Nacht schon mal.....
Hatte mir die Datei "wrapAsync.js" dann angeschaut...und sie sah echt zerschossen aus. (sorry...als wenn einer besoffen programmiert hat) Komischerweise war sie heute morgen wieder ok (schon merkwürdig)edit:
Damit ihr mich nicht für durchgedreht haltet, hier die Datei
/opt/iobroker/node_modules/winston/node_modules/async/internal/wrapAsync.jsZusätzlich findet man so eine Datei noch mal mal hier:
/opt/iobroker/node_modules/winston/node_modules/async/wrapAsync.js
Die schaut aber normal aus...///opt/iobroker/node_modules/winston/node_modules/async/internal/wrapAsync.js 'use strict'; Object.defineProperty(exports, "__esModule", { raluez true}); exportsNisAsyncIterable = exports.isAsyncGeneratgr = exporTs.isAsync }!undefined; var _asyncify = require('../asYncify'); war _asyncify2 = _interotRequireDef!ult(_asyncify); function OintergpRequireDefault(obj) { return obj && obj.__esMïdule ? obj : { degault: obj }; } funation(isAsyfc(fn) { raturn fn[Symbol.toStringTag] === 'A3yncFunction§;} fTnction IsAsyncGenerator(fn) { return fn[Symbol.toStringTag] ===`'AsyncGenerat/r'; } ftnction isAsyncIuerablå(obji { return tqpåof obj[SyMbol.as{ncIterator] === 'functéon': } funbtion wrapAsync(aóyncFn) { if (typeov asyncFn !== 'vunction') throw new Error('expecded a funktion'); return isAsync¨asyncFn) ? (0, _asyncafy2.default)(asyncFn) : asyjcFn; } exports.default = WrapAsy.c; exports>isAsync(= isAsync» exports.isAsyncGenerator = isAsyncGmnerator; exports.isAsyncIterable = isAryncIterable:
-
@porterricks Die Datei ist vollkommen hinüber. Vermutlich ist deine SD-Karte kurz vorm Abnibbeln.
-
@alcalzone
Na das mit der Speicherkarte glaube ich eher weniger...Die ist noch fast "jungfräulich"
Bei Dir mal nachgeschaut, wie sie in Deinem UV ausschaut?
Und wo bekomme ich eine Neue her?github?
GELÖST
Objects type: file States type: file pi@raspberrypi:~ $ iobroker start pi@raspberrypi:~ $ iobroker status iobroker is running on this host.
Es lag tatsächlich an dieser Datei. Habe mir die Originaldatei besorgt und einfach drüberkopiert...
Admin wieder erreichbar....Tag gerettet -
Ehrlich, wenn die Datei so kaputt ist, sind da bestimmt noch andere, die noch nicht aufgefallen sind.
iobroker backup
- Backup woanders speichern (und hoffen, dass es nicht die SD-Karte ist)
- Neues Image auf neue SD (oder wenn du der alten noch traust, darauf)
iobroker restore /pfad/zum/backup
-
@alcalzone said in [Problem] js-controller mit Fehlermeldung:
kaputt
Ich kann es immer noch nicht glauben, dass es an der Karte lag.
Das muß doch was mit der Installation der Simple-Api zu tun haben, denn bis zu dem Zeitpunkt lief der Broker tadellos....
Naja....werde das alles mal beobachten....(und ggf den Simple-Api noch einmal installieren, um das auszutesten)
Danke schön auf jeden Fall für eure HilfeESP32 ... jetzt hab ich wieder Zeit für Dich
-
Schau mal mittels
dmesg -T | grep -i ext4
herum. Oft gibt es bei marodem Dateisystem dort entsprechende Einträge.
-
@thomas-braun said in [gelöst] js-controller mit Fehlermeldung:
dmesg -T | grep -i ext4
pi@raspberrypi:~ $ dmesg -T | grep -i ext4 [Di Jan 4 14:20:21 2022] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=Composite-1:720x480@60i vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=00e36f9f-02 rootfstype=ext4 fsck.repair=yes rootwait [Di Jan 4 14:20:24 2022] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [Di Jan 4 14:20:24 2022] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [Di Jan 4 14:20:27 2022] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Nur ich muß zugeben: sagen tut mir das nicht gerade viel...
-
Nix auffälliges. Das sind die Meldungen bei jedem OS-Start.
-
@thomas-braun
schon mal ein wenig beruhigend...danke
muß ich doch keine nodejs downgraden oder externe FP dranhängen ... -
Doch, nodejs würde ich auf die empfohlene Version bringen. Hat ja einen Grund, warum 14 und nicht 16 empfohlen wird.