NEWS
Server Cannot start inMem-objects on port 9001
-
@jaridian Oder Du beendest alles und machst es auf der Console:
iob restore <pfad zu backup datei>
Da biste noch sicherer das nichts läuft, was nicht soll
-
@great-sun said in Server Cannot start inMem-objects on port 9001:
iob restore <pfad zu backup datei>
Danke Dir für den Tip. Werde ich machen.
-
Hallo,
habe das gleiche Problem beobachtet. Nach einem Stromausfall startet der ioBroker nicht und gibt immer wieder die Fehlermeldung "host.raspberrypi-Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"!" aus.
Nach ca. 10min startet er aber dann, ohne, dass ich irgendetwas mache.
Hier ein Auschschnitt aus den Logs:
-
Könntest du den Text aus der Konsole bitte auch als TEXT in CodeTags eingebettet hier reinkopieren? Bilder aus der Konsole sind sinnfrei.
-
@thomas-braun
Hab ich angefügt -
@foxy99 Das sind keine CodeTags.
Dann verwendest du eine ungerade Version von nodeJS und dein iobroker-Repo scheint auch falsch zu sein.
-
@thomas-braun Ich hatte das auch schon, nur weil ich den iobroker nicht sauber runterfahren konnte, weil sich storage-seitig was weggehängt hat. Stromausfall gibts bei mir normal nicht hab ne USV davor
Das Problem liegt halt eher daran, dass der Prozess gerade in einem Zustand ist, in dem ihn beenden heißt, dass man sich die jsonl zerschießt. Da geht nix mehr außer restore. Evtl. könnte man überlegen das irgendwann mit wechselnden dateien zu machen:- Datei1 und Datei2 sind in sync
- Datei1 wird gelocked
- Datei1 wird geändert
- Detei1 wird sauber geschlossen (-lock)
- Detei2 wird gelocked
- Datei2 wird in Sync gebracht
- Datei2 wird sauber geschlossen (-lock)
So wäre immer eine Datei zum Lesen ohne lock verfügbar und bei solchen Stromausfällen, oder Storage-Problemen wäre ioBroker dann resilient. @Thomas-Braun was meinst Du? Soll/kann ich da irgendwo unterstützen/wollt Ihr sowas da haben?
-
@great-sun Ääääähhhmm ... eine "JSONL" zuerschiessen ... was meinst Du damit genau? "früher" bei den JSON Files der "File DB" konnte das passieren, aber JSONL an sich nicht. Also ws genau ist das Issue um was es hier geht?
-
@apollon77 bei mir kam mal der selbe Fehler, und nachdem alle locks sauber weg waren, war der Syntax in der jsonl nicht mehr korrekt. Es schien, als wäre die Datei nicht komplett sauber auf der Platte gelandet und daher danach unbenutzbar.
-
@great-sun Ok "locks" sind das eine ... Falls da welche bleiben ja dann ist das blöd. Was es das? Sind da "lock files" geblieben?
Ansonsten ist das JSONL Format genau so das selbst einzelne ungültige Einträge egal sind da Sie einfach ignoriert werden. Also was genau was kaputt (was nicht einzelne Datensätze waren)? Die Datei an sich sollte damit aber wie gesagt nicht unbenutzbar werden,
@AlCalzone FYI
-
@apollon77 Ich kanns Dir nicht mehr sagen, hab auch nicht dran gedacht eine Kopie der Datei zu machen... Wenn das nochmal passiert, mach ich das, damit Ihr da vielleicht was debuggen könnt. Mir war das zuviel Stress für zu wenig Nutzen
Und ja, zunächst sah es so aus, als wären es nur die locks. Danach war aber ein File kaputt... ioBroker startete nicht und spuckte immernoch die selbe Fehlermeldung aus iirc. Beim genaueren debuggen bin ich dann auf eine Syntax-Fehlermeldung gestoßen, konnte aber den Fehler nicht finden/beheben. Also Restore und alles ging wieder. -
@great-sun sagte in Server Cannot start inMem-objects on port 9001:
Beim genaueren debuggen bin ich dann auf eine Syntax-Fehlermeldung gestoßen, konnte aber den Fehler nicht finden/beheben. Also Restore und alles ging wieder.
Was für ein syntaxfehler soll das gewesen sein? die JSONL-files sind zeilenweise gültiges JSON. Wenn eine davon kaputt ist, wird sie ignoriert, was aber die Integrität der anderen Dateien nicht beeinflussen dürfte.
Und selbst wenn sie richtig kaputt wäre, kann das nur beim Komprimieren passieren, dann liegt nebendran aber noch ein Backup von vor dem Komprimieren
-
Hi
stoße gerade auf die gleiche Fehlermeldung und blicke so wirklich das Fazit zur Behebung hier nicht.
Habe einen IOB auf einem RPI2 und bestimmt schon 6 Monate nichts verändert nun wollte ich dort mal ran und habe über die Konsole mit IOB stop den IOB beendet und wollte updaten doch hier kommt schon der Fehler:
pi@raspberrypi:~ $ iob update No connection to databases possible ...
Um dies zu beheben hab ich mal den Fixer durchlaufen lassen, Neu gebootet und das OS aktualisiert alles ohne erkennbare Fehler aber der IOB startet nicht mehr und der status meldet:
pi@raspberrypi:~ $ iob status Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"!
Was sollte ich tun?
Besten Dank!
-
@dieter_p
So grundsätzlich bist du da wie genau unterwegs?sudo ln -s /usr/bin/node /usr/bin/nodejs uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
posten.
-
@thomas-braun said in Server Cannot start inMem-objects on port 9001:
sudo ln -s /usr/bin/node /usr/bin/nodejs
Danke
armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.19.3 v14.19.3 6.14.17 pi /home/pi OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://deb.nodesource.com/node_14.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell. N: Paket nodejssudo kann nicht gefunden werden. N: Paket ln kann nicht gefunden werden. N: Paket /usr/bin/nodejs kann nicht gefunden werden.
-
Bitte die komplette Eingabezeile inkl. des login prompts posten.
Da ist irgendwas krumm gelaufen, was ich jetzt nicht nachvollziehen kann, weil ich nicht sehe was da eingeklimpert wurde. (Am Rande: Mit der rechten Maustaste kann man in die Konsole pasten, in den meisten Terminalprogrammen jedenfalls) -
Sorry da stimmte was nicht:
pi@raspberrypi:~ $ uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs sudo ln -s /usr/bin/node /usr/bin/nodejs armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.19.3 v14.19.3 6.14.17 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_14.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell. nodejs: Installiert: 14.19.3-deb-1nodesource1 Installationskandidat: 14.19.3-deb-1nodesource1 Versionstabelle: *** 14.19.3-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.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 sudo: Installiert: 1.8.27-1+deb10u3 Installationskandidat: 1.8.27-1+deb10u3 Versionstabelle: *** 1.8.27-1+deb10u3 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages 100 /var/lib/dpkg/status N: Paket ln kann nicht gefunden werden. N: Paket /usr/bin/nodejs kann nicht gefunden werden.
-
@dieter_p sagte in Server Cannot start inMem-objects on port 9001:
Sorry da stimmte was nicht:
Da stimmt immer noch was nicht...
Egal.
cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
-
@thomas-braun said in Server Cannot start inMem-objects on port 9001:
sudo -H -u iobroker npm install iobroker.js-controller
das kommt raus:
pi@raspberrypi:~ $ cd /opt/iobroker pi@raspberrypi:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller > iobroker.js-controller@4.0.21 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.17 > iobroker.js-controller@4.0.21 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first No connection to databases possible ... npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm ERR! code ELIFECYCLE npm ERR! errno 22 npm ERR! iobroker.js-controller@4.0.21 install: `node iobroker.js setup first` npm ERR! Exit status 22 npm ERR! npm ERR! Failed at the iobroker.js-controller@4.0.21 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-07T14_57_18_192Z-debug.log pi@raspberrypi:/opt/iobroker $
-
@dieter_p läuft was anderes auf dem Host auf Port 9000 oder 9001?