NEWS
TypeError Fehler nach Upgrade
-
Systemdata Hardwaresystem: PC Arbeitsspeicher: 4GB Festplattenart: SSD Betriebssystem: Debian 11 (bullseye) Node-Version: 18.18.0 Nodejs-Version: 18.18.0 NPM-Version: 9.8.1 Installationsart: Ursprünglich Manuell, Update/Fixversuche s.u. Image genutzt: Nein Ist ursprünglich eine Version aus 2017, welche zuletzt vor über einem Jahr upgedated wurde. Es wurde nun erst ein Update mittels veralteter manueller Variante versucht. Als das nicht ging, wurde das allmächtige Google bemüht und ich bin schlußendlich auf folgendes gestoßen:
https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debianNach dem abarbeiten der o.g. Anleitung treten beim Starten von iobroker folgende Fehler im Log auf:
Okt 04 01:05:59 buechse bash[5274]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: Okt 04 01:05:59 buechse bash[5274]: TypeError: Cannot set properties of undefined (setting 'namespace') Okt 04 01:05:59 buechse bash[5274]: at script.js.Status.All.Skript1:4:26 Okt 04 01:05:59 buechse bash[5274]: at script.js.Status.All.Skript1:1304:3 Okt 04 01:05:59 buechse bash[5274]: at Script.runInContext (node:vm:135:12) Okt 04 01:05:59 buechse bash[5274]: at Script.runInNewContext (node:vm:140:17) Okt 04 01:05:59 buechse bash[5274]: at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1726:23) Okt 04 01:05:59 buechse bash[5274]: at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1961:13) Okt 04 01:05:59 buechse bash[5274]: at /opt/iobroker/node_modules/iobroker.javascript/main.js:2053:17 Okt 04 01:05:59 buechse bash[5274]: at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/main.js:1527:17) Okt 04 01:05:59 buechse bash[5274]: at processImmediate (node:internal/timers:478:21)
Im Anschluss cycled er folgenden Fehlertext mit Pausen dazwischen:
Okt 04 01:06:18 buechse bash[5274]: node:internal/modules/cjs/loader:1080 Okt 04 01:06:18 buechse bash[5274]: throw err; Okt 04 01:06:18 buechse bash[5274]: ^ Okt 04 01:06:18 buechse bash[5274]: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/lib/letsencrypt.js' Okt 04 01:06:18 buechse bash[5274]: Require stack: Okt 04 01:06:18 buechse bash[5274]: - /opt/iobroker/node_modules/iobroker.web/main.js Okt 04 01:06:18 buechse bash[5274]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15) Okt 04 01:06:18 buechse bash[5274]: at Module._load (node:internal/modules/cjs/loader:922:27) Okt 04 01:06:18 buechse bash[5274]: at Module.require (node:internal/modules/cjs/loader:1143:19) Okt 04 01:06:18 buechse bash[5274]: at require (node:internal/modules/cjs/helpers:119:18) Okt 04 01:06:18 buechse bash[5274]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/main.js:10:21) Okt 04 01:06:18 buechse bash[5274]: at Module._compile (node:internal/modules/cjs/loader:1256:14) Okt 04 01:06:18 buechse bash[5274]: at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) Okt 04 01:06:18 buechse bash[5274]: at Module.load (node:internal/modules/cjs/loader:1119:32) Okt 04 01:06:18 buechse bash[5274]: at Module._load (node:internal/modules/cjs/loader:960:12) Okt 04 01:06:18 buechse bash[5274]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12) { Okt 04 01:06:18 buechse bash[5274]: code: 'MODULE_NOT_FOUND', Okt 04 01:06:18 buechse bash[5274]: requireStack: [ '/opt/iobroker/node_modules/iobroker.web/main.js' ] Okt 04 01:06:18 buechse bash[5274]: }
MOD-EDIT: Code in code-tags gesetzt!
Sowohl port 8080 als auch port 8081 bringen ein "Fehler: Verbindung fehlgeschlagen".
Bin so ziemlich am Ende mit meinem Jägerlatein, weil die Anleitung in meinem Fall ja so ziemlich das Äquivalent einer Neuinstallation darstellt...
Stelle gerne weitere Infos zur Verfügung, falls benötigt. ^^
-
-
@arteck
komplette Ausgabe: iob.diagSummary zur Übersicht:
======================= SUMMARY ======================= v.2023-06-20 Static hostname: buechse Icon name: computer-desktop Chassis: desktop Machine ID: ad04b788c67eb9ea47db2c8352e3d875 Boot ID: 15bbed9739f54cda8dabae33c1859091 Operating System: Debian GNU/Linux 11 (bullseye) Kernel: Linux 5.10.0-25-amd64 Architecture: x86-64 Installation: native Kernel: x86_64 Userland: amd64 Timezone: Europe/Berlin (CEST, +0200) User-ID: 1000 X-Server: true Boot Target: graphical.target Pending OS-Updates: 0 Pending iob updates: 19 Nodejs-Installation: /usr/bin/nodejs v18.18.0 /usr/bin/node v18.18.0 /usr/bin/npm 9.8.1 /usr/bin/npx 9.8.1 Recommended versions are nodejs 18.x.y and npm 9.x.y Your nodejs installation is correct MEMORY: total used free shared buff/cache available Mem: 3.6G 2.0G 210M 3.0M 1.4G 1.3G Swap: 3.8G 260M 3.6G Total: 7.5G 2.3G 3.8G Active iob-Instances: 17 Active repo(s): stable ioBroker Core: js-controller 5.0.12 admin 6.3.5 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: system.adapter.admin.0 : admin : buechse - disabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.admin.1 : admin : buechse - disabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.web.0 : web : buechse - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 15866 States: 13831 Size of iob-Database: 13M /opt/iobroker/iobroker-data/objects.jsonl 12M /opt/iobroker/iobroker-data/objects.json.migrated 12M /opt/iobroker/iobroker-data/objects.json.bak.migrated 17M /opt/iobroker/iobroker-data/states.jsonl 2.6M /opt/iobroker/iobroker-data/states.json.migrated 2.6M /opt/iobroker/iobroker-data/states.json.bak.migrated 0 /opt/iobroker/iobroker-data/states.json.broken =================== END OF SUMMARY ====================
-
Pending iob updates: 19
Die hättest du zunächst mal auf 0 bringen sollen.
Und den Desktop-Zinnober auch abschalten. -
-
@thomas-braun Das hätte doch per Anleitung schon auf 0 stehen sollen, oder? Und was meinst du mit Desktop-Zinnober?
-
Nein, das sind die ioBroker-Adapter.
Und mit Desktop-Zinnober ist das gemeint:
X-Server: true Boot Target: graphical.target
Einen Server bootet man aber nicht in das 'graphical.target' (also bis in den Desktop). Da ist ein reiner Betrieb im Terminal / per SSH-Konsole angesagt.
-
@arteck
iob fixlibrary: loaded Library version=2022-12-09 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2023-04-02 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/5) ========================================================================== OK:1 http://deb.debian.org/debian bullseye InRelease OK:2 http://deb.debian.org/debian-security bullseye-security InRelease Holen:3 http://deb.debian.org/debian bullseye-updates InRelease [44,1 kB] OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease Ign:5 https://download.webmin.com/download/newkey/repository stable InRelease OK:6 https://download.webmin.com/download/newkey/repository stable Release Es wurden 44,1 kB in 2 s geholt (20,8 kB/s). Paketlisten werden gelesen… Fertig N: Das Laden der konfigurierten Datei »main/binary-i386/Packages« wird übersprungen, da das Depot »https://deb.nodesource.com/node_18.x nodistro InRelease« die Architektur »i386« nicht unterstützt. Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/5) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Check and cleanup npm temporary directories (3/5) ========================================================================== Done. ========================================================================== Database maintenance (4/5) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl Compressed 2 JSONL files. Done ========================================================================== Checking autostart (5/5) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ==========================================================================
iob status:
iobroker is not running on this host. Objects type: jsonl States type: jsonl
Bzw nach dem start eben mit 'is running on this host'
-
@thomas-braun @thomas-braun Okay.
Also, folgendes hat funktioniert: Ich konnte mittelsnpm install iobroker.admin iobroker upload admin iobroker start admin
Die Admin-Oberfläche wieder gängig machen. Er beschwerte sich dann allerdings immer noch, das der Admin auf 6.3.5 läuft anstatt auf 6.10.1. Dies konnte ich dann mittels Update über die Admin-Oberfläche beheben. Auch wenn es erst nicht so aussah.
Ich würde jetzt per Admin-Oberfläche die Adapter alle aktualisieren, außer das geht irgendwie einfacher?
Die einzige Anleitung dazu, die ich gefunden habe ist von 2017. Vielleicht nicht mehr ganz so aktuell. -
@robert-feustel sagte in TypeError Fehler nach Upgrade:
Ich würde jetzt per Admin-Oberfläche die Adapter alle aktualisieren, außer das geht irgendwie einfacher?
Über die Konsole:
iob update iob upgrade all