NEWS
Iobroker update -> possible EventEmitter memory leak detected
-
Jep, ich habe im Repro mal nach der Meldung gesucht, siehe da ….
https://github.com/ioBroker/ioBroker.js ... b/tools.js
Die Vermutung liegt nahe, dass das an Zeile 191 liegt, anscheinend ist die RegEx ungültig
`if (regExp.test(dirs[i]) && fs.existsSync(path + 'io-package.json')) {`[/i]
-
Ok, habe den fehler gefunden! Dieser behebt zwar die meldungen via iobroker update, jedoch nicht die anzeige! Ich vermute, das das der gleiche fehler im admin ist. Ich habe einen entsprechenden fork erstellt und einen pull-request ans repository erstellt. Den Admin schaue ich mir auch noch schnell an, vielleicht finde ich was..
Ah, UPDATE: iobroker restart hat geholfen! Anscheinend hat mein fix das problem gleich mit gelöst!
Für alle mit dem gleichen Problem und bis zum Fix: https://github.com/PArns/ioBroker.js-controller
-
Was war der Fehler?
-
Siehe https://github.com/ioBroker/ioBroker.js … /115/files
Dort wurde eine RegEx verwendet, die aber NULL war, anscheinend hat Bluefox vergessen, die RegEx ebenfalls ein paar Zeilen tiefer richtig zu initialisieren. Typischer Copy&Paste fehler... Ich vermute, das der Fehler nicht bei jedem auftritt, da hier codestücke doppelt vorhanden sind. Ggf. sollte man da ne Funktion draus machen
-
ok, hab gesehen.
Ich hätte sie eher vor 185 geschoben statt sie nun zweimal zu erzeugen.
Die Fehlermeldung in 238 könnte auch noch korrigiert werden. Die hat mich in die Irre geführt.
`console.log('Cannot read or parse ' + __dirname + '/../../../node_modules/' + dirs[i] + '/io-package.json: ' + e.toString());`[/i]
-
Ich vermute, das der Fehler nicht bei jedem auftritt, da hier codestücke doppelt vorhanden sind. Ggf. sollte man da ne Funktion draus machen
`
Ja, aber es tritt bei den meisten einfach nicht auf, weil eigentlich immer lokale Pakete unterhalb von /opt/iobroker/node_modules/js-controller/node_modules installiert werden. Sind die abhängigen Pakete bei dir alle direkt unter /opt/iobroker/node_modules oder global installiert?
-
Ja, die Pakete liegen bei mir unter /opt/iobroker/node_modules
Allerdings dachte ich bis jetzt, das diese dort standardgemäß liegen!? Ist das eine Einstellungssache?
An der Config habe ich nie etwas geändert
PS. zur RegEx, ja da gebe ich dir recht … Hab eine neue Version hochgeladen!
-
Es gibt fix auf github (0.12.3 - js-controller) für EventEmitter problem,
aber ihr spricht hier über was anderes. Ist das gelöst?
-
ok, hab gesehen.
Ich hätte sie eher vor 185 geschoben statt sie nun zweimal zu erzeugen.
Die Fehlermeldung in 238 könnte auch noch korrigiert werden. Die hat mich in die Irre geführt.
`console.log('Cannot read or parse ' + __dirname + '/../../../node_modules/' + dirs[i] + '/io-package.json: ' + e.toString());` Was ist mit der Zeile falsch?[/i] ``` `
-
Im Original wird in der log Meldung in Zeile 238 da falsche Verzeichnis ausgegeben.
Gesendet von meinem GT-N8000 mit Tapatalk