NEWS
Javascript Problem nach js-controller update
-
Wenn man mal in die Javascript Konsole vom Chrome schaut, kommt folgendes:
Uncaught TypeError: this.$grid.selectId is not a function Failed to load resource: the server responded with a status of 404 (Not Found)
… irgendwas findet er ned?
und dann ...
Uncaught TypeError: this.$grid.selectId is not a function at Scripts.init (tab.js:1863) at tab.js:1769
-
Ich kann keine einzige Zeile finden in tab.js die this.$grid.selectId beinhaltet.
Das ist Indiz dafür, dass Cache Browser nicht gelöscht ist.
Kannst du anderen Browser probieren? Anderen Rechner?
-
Grübel…
Ich habs jetzt mit drei Browsern probiert, auf zwei verschiedenen Rechner, überall das gleiche Ergebnis ...
Bin jetzt grad von der Arbeit gekommen, und hab mal in die Files geschaut:
Bei /opt/iobroker/iobroker-data/files/javascript.admin/tab.js steht drin:
if (typeof this.$grid !== 'undefined' && (!this.$grid.data('inited') || update)) { this.$grid.data('inited', true); that.engines = this.fillEngines('edit-script-engine-type'); [b]this.$grid.selectId('init', {[/b] objects: main.objects, noDialog: true, texts: { select: _('Select'), cancel: _('Cancel'), all: _('All'), id: _('Scripts'),
Zeile 1863 fett, also genau was moniert wird.
Dann hab ich mal in ../node-modules geschaut … komplett andere Datei, fast 20k größer ...
Ok.
Mein Versuch war jetzt ein "iobroker upload all" ... das allerdings auch nicht klappt:
upload [0] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/adminWords.js adminWords.js application/javascript /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431 target[attr] = additional[attr]; ^ TypeError: Cannot assign to read only property 'en' of Javascript/Coffeescript Script Engine at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431:34) at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:434:21) at Immediate. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:487:64) at Immediate.immediate._onImmediate (timers.js:453:18) at processImmediate [as _immediateCallback] (timers.js:396:17) root@penguin:/opt/iobroker#</anonymous>
Da ist anscheinend was total out of sync…
-
Neues Spiel neues Glück:
Ich hab versucht, das Ganze nochmal etwas kontrollierter zu machen, also zurück auf meinen alten Snapshot und nochmal
Erst mal …
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 0 Software-Pakete können aktualisiert werden. 0 Aktualisierungen sind Sicherheitsaktualisierungen. Last login: Thu Apr 5 18:45:56 2018 from 10.22.1.14 werner@penguin:~$ sudo -s [sudo] Passwort für werner: root@penguin:~# cd /opt/iobroker root@penguin:/opt/iobroker# iobroker stop Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 0 root@penguin:/opt/iobroker# iobroker upgrade self Update js-controller from @1.2.0 to @1.4.0 npm install iobroker.js-controller@1.4.0 --unsafe-perm --production --prefix "/opt/iobroker" (System call) npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated Host "penguin" (linux) updated Execute: chmod -R 777 /opt/iobroker Chmod finished. Restart controller Starting node restart.js root@penguin:/opt/iobroker#
also den host hochgezogen.
Auffällig: Der Admin wird da NICHT auf die neue Version gebracht. Ich hatte das mal auf ner Testkiste probiert, da war das so …
Also manuell:
root@penguin:/opt/iobroker# iobroker stop Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 0 root@penguin:/opt/iobroker# iobroker upgrade admin Update admin from @1.8.1 to @3.3.5 host.penguin Adapter "system.adapter.admin.0" is stopped. NPM version: 2.15.12 npm install iobroker.admin@3.3.5 --production --save --prefix "/opt/iobroker" (System call) host.penguin Adapter "system.adapter.admin.0" is started npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.admin" Update "system.adapter.admin.0" got /opt/iobroker/node_modules/iobroker.admin/admin upload [3] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/words.js words.js application/javascript upload [2] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index_m.html index_m.html text/html upload [1] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index.html index.html text/html upload [0] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/admin.png admin.png image/png Adapter "admin" updated
Also quasi "alles gut". Aber ebenfalls auffällig: Der Upload macht nix mit tab.js. … aber eigentlich klar, das kommt ja vom javascript-Adapter, oder?
root@penguin:/opt/iobroker/iobroker-data/files/javascript.admin# ls -l insgesamt 316 -rwxrwxrwx 1 root root 4225 Jul 21 2017 adminWords.js -rwxrwxrwx 1 root root 8030 Jul 21 2017 blockly.png -rwxrwxrwx 1 root root 6318 Jul 21 2017 coffeescript.png drwxrwxrwx 2 root root 4096 Apr 22 2017 cron -rwxrwxrwx 1 root root 18761 Jul 21 2017 cron2text.js -rwxrwxrwx 1 root root 14597 Jul 21 2017 _data.json drwxrwxrwx 5 root root 4096 Apr 22 2017 google-blockly -rwxrwxrwx 1 root root 7048 Jul 21 2017 index.html -rwxrwxrwx 1 root root 285 Jul 21 2017 jquery.cron.css -rwxrwxrwx 1 root root 38792 Jul 21 2017 jquery.cron.js -rwxrwxrwx 1 root root 4944 Jul 21 2017 js.jpeg -rwxrwxrwx 1 root root 4889 Jul 21 2017 js.png drwxrwxrwx 2 root root 4096 Jul 21 2017 query-builder -rwxrwxrwx 1 root root 4855 Jul 21 2017 rule.png -rwxrwxrwx 1 root root 27366 Jul 21 2017 tab.html -rwxrwxrwx 1 root root 115417 Jul 21 2017 tab.js -rwxrwxrwx 1 root root 18750 Jul 21 2017 words.js -rwxrwxrwx 1 root root 1269 Jul 21 2017 zip.png root@penguin:/opt/iobroker/iobroker-data/files/javascript.admin#
hm … wohlgemerkt, es ist auch ein etwas angestaubter javascript Adapter (3.3.11) ...
also den updaten:
root@penguin:/opt/iobroker# iobroker upgrade javascript Update javascript from @3.3.11 to @3.6.4 NPM version: 2.15.12 npm install iobroker.javascript@3.6.4 --production --save --prefix "/opt/iobroker" (System call) npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.javascript" /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431 target[attr] = additional[attr]; ^ TypeError: Cannot assign to read only property 'en' of Javascript/Coffeescript Script Engine at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431:34) at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:434:21) at Immediate. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:487:64) at Immediate.immediate._onImmediate (timers.js:453:18) at processImmediate [as _immediateCallback] (timers.js:396:17)</anonymous>
und da fällts jetzt aufs Gesicht.
Der 3.3.11 kann nicht mit dem neuen Admin und es gibt ein Problem beim updaten/upload des neuen Javascript adapters? Deswegen kaputt? Lieg ich da richtig?
CU
Werner
-
Auch wenn ich dir vielleicht nicht helfen kann hier ein paar Gedanken:
@dwm:Ich hab versucht, das Ganze nochmal etwas kontrollierter zu machen `
ein iobroker update vor dem upgrade self hattest du aber nicht gemacht, oder?@dwm:Der Admin wird da NICHT auf die neue Version gebracht. Ich hatte das mal auf ner Testkiste probiert, da war das so … `
auch mit iobroker upgrade self?Oder mit npm i iobroker.js-controller?
@dwm:Der 3.3.11 kann nicht mit dem neuen Admin und es gibt ein Problem beim updaten/upload des neuen Javascript adapters? `
und was wäre es jetzt hier mit drüberinstallieren?sudo npm install iobroker.javascript
Gruß
Rainer
-
@dwm:Neues Spiel neues Glück:
Ich hab versucht, das Ganze nochmal etwas kontrollierter zu machen, also zurück auf meinen alten Snapshot und nochmal
Erst mal …
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 0 Software-Pakete können aktualisiert werden. 0 Aktualisierungen sind Sicherheitsaktualisierungen. Last login: Thu Apr 5 18:45:56 2018 from 10.22.1.14 werner@penguin:~$ sudo -s [sudo] Passwort für werner: root@penguin:~# cd /opt/iobroker root@penguin:/opt/iobroker# iobroker stop Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 0 root@penguin:/opt/iobroker# iobroker upgrade self Update js-controller from @1.2.0 to @1.4.0 npm install iobroker.js-controller@1.4.0 --unsafe-perm --production --prefix "/opt/iobroker" (System call) npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated Host "penguin" (linux) updated Execute: chmod -R 777 /opt/iobroker Chmod finished. Restart controller Starting node restart.js root@penguin:/opt/iobroker#
also den host hochgezogen.
Auffällig: Der Admin wird da NICHT auf die neue Version gebracht. Ich hatte das mal auf ner Testkiste probiert, da war das so …
Also manuell:
root@penguin:/opt/iobroker# iobroker stop Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 0 root@penguin:/opt/iobroker# iobroker upgrade admin Update admin from @1.8.1 to @3.3.5 host.penguin Adapter "system.adapter.admin.0" is stopped. NPM version: 2.15.12 npm install iobroker.admin@3.3.5 --production --save --prefix "/opt/iobroker" (System call) host.penguin Adapter "system.adapter.admin.0" is started npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.admin" Update "system.adapter.admin.0" got /opt/iobroker/node_modules/iobroker.admin/admin upload [3] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/words.js words.js application/javascript upload [2] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index_m.html index_m.html text/html upload [1] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index.html index.html text/html upload [0] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/admin.png admin.png image/png Adapter "admin" updated
Also quasi "alles gut". Aber ebenfalls auffällig: Der Upload macht nix mit tab.js. … aber eigentlich klar, das kommt ja vom javascript-Adapter, oder?
root@penguin:/opt/iobroker/iobroker-data/files/javascript.admin# ls -l insgesamt 316 -rwxrwxrwx 1 root root 4225 Jul 21 2017 adminWords.js -rwxrwxrwx 1 root root 8030 Jul 21 2017 blockly.png -rwxrwxrwx 1 root root 6318 Jul 21 2017 coffeescript.png drwxrwxrwx 2 root root 4096 Apr 22 2017 cron -rwxrwxrwx 1 root root 18761 Jul 21 2017 cron2text.js -rwxrwxrwx 1 root root 14597 Jul 21 2017 _data.json drwxrwxrwx 5 root root 4096 Apr 22 2017 google-blockly -rwxrwxrwx 1 root root 7048 Jul 21 2017 index.html -rwxrwxrwx 1 root root 285 Jul 21 2017 jquery.cron.css -rwxrwxrwx 1 root root 38792 Jul 21 2017 jquery.cron.js -rwxrwxrwx 1 root root 4944 Jul 21 2017 js.jpeg -rwxrwxrwx 1 root root 4889 Jul 21 2017 js.png drwxrwxrwx 2 root root 4096 Jul 21 2017 query-builder -rwxrwxrwx 1 root root 4855 Jul 21 2017 rule.png -rwxrwxrwx 1 root root 27366 Jul 21 2017 tab.html -rwxrwxrwx 1 root root 115417 Jul 21 2017 tab.js -rwxrwxrwx 1 root root 18750 Jul 21 2017 words.js -rwxrwxrwx 1 root root 1269 Jul 21 2017 zip.png root@penguin:/opt/iobroker/iobroker-data/files/javascript.admin#
hm … wohlgemerkt, es ist auch ein etwas angestaubter javascript Adapter (3.3.11) ...
also den updaten:
root@penguin:/opt/iobroker# iobroker upgrade javascript Update javascript from @3.3.11 to @3.6.4 NPM version: 2.15.12 npm install iobroker.javascript@3.6.4 --production --save --prefix "/opt/iobroker" (System call) npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.javascript" /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431 target[attr] = additional[attr]; ^ TypeError: Cannot assign to read only property 'en' of Javascript/Coffeescript Script Engine at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431:34) at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:434:21) at Immediate. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:487:64) at Immediate.immediate._onImmediate (timers.js:453:18) at processImmediate [as _immediateCallback] (timers.js:396:17)</anonymous>
und da fällts jetzt aufs Gesicht.
Der 3.3.11 kann nicht mit dem neuen Admin und es gibt ein Problem beim updaten/upload des neuen Javascript adapters? Deswegen kaputt? Lieg ich da richtig?
CU
Werner `
Eine sehr gründliche Untersuchung.Ich finde die node.js Version aber nicht.. 4?
Diesen Fehler mit setupUpload.js kann ich bei mir nicht reproduzieren.
-
ein iobroker update vor dem upgrade self hattest du aber nicht gemacht, oder? `
Leider nein… grade nachgeholt.auch mit iobroker upgrade self?
Oder mit npm i iobroker.js-controller? `
Ehrlich gesagt, weiss ich nicht mehr… ist schon einige Wochen her und war auf der Testkiste eigentlich nur rumspielen. Ausserdem war die eh vermurkstund was wäre es jetzt hier mit drüberinstallieren?
CODE: ALLES AUSWÄHLEN
sudo npm install iobroker.javascript `
Grade probiert … npm läuft durch, (wenn auch mit ner Warnung über ein veraltetes coffee-script).
Bringt aber nur Dateien in ./node-modules auf nen anderen Stand.
ein
iobroker upload javascript
synct einen Haufen Zeugs, schlägt aber am Schluss auf:
upload [0] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/adminWords.js adminWords.js application/javascript /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431 target[attr] = additional[attr]; ^ TypeError: Cannot assign to read only property 'en' of Javascript/Coffeescript Script Engine at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:431:34) at extendCommon (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:434:21) at Immediate. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:487:64) at Immediate.immediate._onImmediate (timers.js:453:18) at processImmediate [as _immediateCallback] (timers.js:396:17) root@penguin:/opt/iobroker#</anonymous>
hat aber vorher anscheinend die Files in ./iobroker-data soweit synchronisiert, dass die Script-Anzeige mit der neuen Admin Oberfläche wieder zu funktionieren scheint.
Sprich, ich komm wieder an die Scripts …
Ohne es genau zu wissen aber "Property en" und "adminWords.js" ... irgendwas mit Sprachumschaltung auf Englisch? Ist mir jetzt wurscht...
Trotzdem, ein etwas ungutes Gefühl bleibt da ...
Hab noch etwa 20 auch schon angestaubte Adapter, mal sehn wie's weitergeht!
Erst mal Danke für die Tips!
CU
Werner
-
@dwm:Ich finde die node.js Version aber nicht.. 4? `
Ja, war die 4.9.1
Hab die Kiste gerade auf node 6.14.1 hochgezogen … wenn schon denn schon
Edit: iobroker upload javascript bringt immer noch am Schluss den gleichen Fehler...
-
hast du nach der Änderungen der node Grundversion ein reinstall gemacht?
Gruß
Rainer
-