NEWS
js-controller 5.0.x jetzt für alle User im STABLE!
-
@peoples ich hab das gleiche Problem mit den Bindings
-
@peoples du kannst ja mal nur die Adapter upgraden (web, ws, socket) ich vermute dein PRoblem wird auch ohne den neuen Controller auftreten, bzw, kannst du es villt auf einen der Adapter begrenzen und ein Issue erstellen.
-
@foxriver76
Genau das hatte ich schon probiert, wenn ich die Adapter alle aktuell habe, hackt es sehr selten aber tritt ab und zu schon auf.
Wirklich Probleme macht tatsächlich erst das Update des Controllers.
Mir viel auch auf dass es bei den neuen Versionen besser funktioniert wenn ich im Web Adapter den ws anstelle des Socket oder intern wähle. Bei der Alten Version läuft Socket am stabilsten -
Gibt es hierzu bereits nähere Erkenntnisse?:
2023-09-25 01:31:38.380 - [31merror[39m: host.iobroker Caught by controller[0]: <--- Last few GCs ---> 2023-09-25 01:31:38.380 - [31merror[39m: host.iobroker Caught by controller[0]: [5590:0x5810de0] 691161900 ms: Mark-sweep 2981.8 (4143.9) -> 2981.3 (4143.9) MB, 289.2 / 0.0 ms (average mu = 0.910, current mu = 0.018) allocation failure; scavenge might not succeed 2023-09-25 01:31:38.381 - [31merror[39m: host.iobroker Caught by controller[0]: [5590:0x5810de0] 691162135 ms: Mark-sweep 2981.4 (4144.1) -> 2981.3 (4144.1) MB, 234.0 / 0.0 ms (average mu = 0.850, current mu = 0.003) allocation failure; scavenge might not succeed 2023-09-25 01:31:38.381 - [31merror[39m: host.iobroker Caught by controller[0]: <--- JS stacktrace ---> 2023-09-25 01:31:38.381 - [31merror[39m: host.iobroker Caught by controller[0]: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 2023-09-25 01:31:38.381 - [31merror[39m: host.iobroker Caught by controller[1]: 1: 0xb7a940 node::Abort() [io.backitup.0] 2023-09-25 01:31:38.381 - [31merror[39m: host.iobroker Caught by controller[2]: 2: 0xa8e823 [io.backitup.0] 2023-09-25 01:31:38.382 - [31merror[39m: host.iobroker Caught by controller[3]: 3: 0xd5c940 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [io.backitup.0] 2023-09-25 01:31:38.382 - [31merror[39m: host.iobroker Caught by controller[4]: 4: 0xd5cce7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [io.backitup.0] 2023-09-25 01:31:38.382 - [31merror[39m: host.iobroker Caught by controller[5]: 5: 0xf3a3e5 [io.backitup.0] 2023-09-25 01:31:38.382 - [31merror[39m: host.iobroker Caught by controller[6]: 6: 0xf4c8cd v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [io.backitup.0] 2023-09-25 01:31:38.382 - [31merror[39m: host.iobroker Caught by controller[7]: 7: 0xf26fce v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[8]: 8: 0xf28397 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[9]: 9: 0xf088e0 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[10]: 10: 0xf00354 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawWithImmortalMap(int, v8::internal::AllocationType, v8::internal::Map, v8::internal::AllocationAlignment) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[11]: 11: 0xf026e8 v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwoByteString(int, v8::internal::AllocationType) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[12]: 12: 0x11dfc15 v8::internal::String::SlowFlatten(v8::internal::Isolate*, v8::internal::Handle<v8::internal::ConsString>, v8::internal::AllocationType) [io.backitup.0] 2023-09-25 01:31:38.383 - [31merror[39m: host.iobroker Caught by controller[13]: 13: 0xd6874c v8::String::Utf8Length(v8::Isolate*) const [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[14]: 14: 0xc64a91 node::StringBytes::Size(v8::Isolate*, v8::Local<v8::Value>, node::encoding) [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[15]: 15: 0xc5ef28 int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[16]: 16: 0xc5f985 void node::StreamBase::JSMethod<&(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&) [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[17]: 17: 0xdbaa30 [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[18]: 18: 0xdbbf6f v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [io.backitup.0] 2023-09-25 01:31:38.384 - [31merror[39m: host.iobroker Caught by controller[19]: 19: 0x16fb7b9 [io.backitup.0] 2023-09-25 01:31:38.385 - [33mwarn[39m: host.iobroker instance system.adapter.backitup.0 terminated due to SIGABRT 2023-09-25 01:31:38.385 - [32minfo[39m: host.iobroker instance system.adapter.backitup.0 terminated with code null ()
-
@ofbeqnpolkkl6mby5e13 sagte in js-controller 5.0.x jetzt für alle User im STABLE!:
Reached heap limit Allocation failed - JavaScript heap out of memory
Vermutlich ist dein Backup zu fett.
-
@ofbeqnpolkkl6mby5e13 Sonos adapter I’m Einsatz?
-
War nach der Deinstallation des Sonos-Adapters für ein paar Tage weg. Heute Nacht ohne Sonos-Adapter wieder aufgetreten. Und @ilovegym hat ihn auch nicht installiert.
-
@ofbeqnpolkkl6mby5e13 anders gefragt: gibt es binary states in deiner installation? Normal States vom Typ File
-
Im Log werden mir nach der Deinstallation des Sonos-Adapters keine Meldungen mehr dbzgl. ausgegeben, daher gehe ich nicht davon aus. Der Fehler tritt wohl beim Backup der Influxdb2 auf, da das temporäre Verzeichnis davon übrig bleibt. Die ist gepackt ca. 1GB groß. Mein System hat allerdings genug Reserven (16GB RAM) und der Fehler tritt erst seit JS-Controller 5 auf.
-
@ofbeqnpolkkl6mby5e13 Führe mal bitte das Skript aus und schau welche IDs geloggt werden.
(() => { $('*').each(async id => { try { const obj = await getObjectAsync(id); if (obj.binary) { log(id, 'warn'); } } catch { // ignore } }) })();
-
@foxriver76 sagte in js-controller 5.0.x jetzt für alle User im STABLE!:
2023-09-26 08:46:11.322 - [32minfo[39m: javascript.0 (16432) Start javascript script.js.common._Tests.Test_6 2023-09-26 08:46:12.429 - [32minfo[39m: javascript.0 (16432) script.js.common._Tests.Test_6: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-09-26 08:46:16.104 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "alexa2.0" can't be copied: {} 2023-09-26 08:46:17.665 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "hue-sync-box.0" can't be copied: {} 2023-09-26 08:46:18.086 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "nanoleaf-lightpanels.0" can't be copied: {} 2023-09-26 08:46:18.088 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "nanoleaf-lightpanels.1" can't be copied: {} 2023-09-26 08:46:18.102 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "nuki-extended.0" can't be copied: {} 2023-09-26 08:46:18.215 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.deyeidc.upload" can't be copied: {} 2023-09-26 08:46:18.243 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.alive" can't be copied: {} 2023-09-26 08:46:18.243 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.compactMode" can't be copied: {} 2023-09-26 08:46:18.244 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.connected" can't be copied: {} 2023-09-26 08:46:18.244 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.cpu" can't be copied: {} 2023-09-26 08:46:18.245 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.cputime" can't be copied: {} 2023-09-26 08:46:18.245 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.inputCount" can't be copied: {} 2023-09-26 08:46:18.246 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.logLevel" can't be copied: {} 2023-09-26 08:46:18.247 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.memHeapTotal" can't be copied: {} 2023-09-26 08:46:18.247 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.memHeapUsed" can't be copied: {} 2023-09-26 08:46:18.248 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.memRss" can't be copied: {} 2023-09-26 08:46:18.248 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.outputCount" can't be copied: {} 2023-09-26 08:46:18.249 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.sigKill" can't be copied: {} 2023-09-26 08:46:18.249 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "system.adapter.vis.0.uptime" can't be copied: {} 2023-09-26 08:46:18.271 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "tuya.0" can't be copied: {} 2023-09-26 08:46:18.276 - [31merror[39m: javascript.0 (16432) script.js.common._Tests.Test_6: Object "unifi.0" can't be copied: {}
-
@ofbeqnpolkkl6mby5e13 Hm okay, kp was javascript da intern treibt. Ich schaue nochmal obs ne andere Variante gibt die binary states zu finden. Dachte eigentlich Admin könnte filtern - leider nicht.
-
@foxriver76
Ich habe mir gestern jetzt mal die Mühe gemacht, alle möglichen Varianten (Adapterversionen / Js-Controler auf 4 und 5) durch zu spielen mit folgenden Erkenntinissen:-
Socket / Web / Ws Adapter aktuell, Controller auf V4... (im Webadapter auf intern gestellt und Websockets angehackt)
Probleme in Vis treten erst nach einiger Zeit auf, betrifft hauptsächlich CSS - Eigentschaften und Bindings
Beispielsweise habe ich auf meinem "Homescreen" ein graues Kästchen welches ich bei eine Systemmeldung über CSS
als Overlay über den ganzen Bildschirm strecke. Dies funktioniert Anfangs und nach einer gewissen Zeit wird nur noch der
Text oben Links wo im Editor das Kästchen mit deaktivierten Css-Eigenschaften liegt angezeigt. -
Socket / Web / Ws Adapter aktuell ebenso der Controller auf V5 (im Webadapter auf ws gestellt da es sonst nicht geht)
Das oben beschriebene Problem tritt nach ca. 5 Minuten kontinuierlich auf. Reload des Projekts behebt das Problem für
wieder ca. 5 Minuten. -
Socket / Web /Ws Adapter auf den Vorversionen und Controller auf V4
keine Probleme vorhanden.
Da mir das Zusammenspiel der einzelnen Adapter nicht klar ist und ich auch nicht sagen kann welchen Einfluss der Js-Controller auf das Thema hat, wüsste ich auch garnicht bei welchem Adapter ich hier ein Issue eröffnen sollte.
Wenn es mir jedoch jemand erklärt mache ich das natürlich sehr gerne. -
-
@peoples und ob die webinstanz ws oder socketio nutzt macht kein Unterschied im Verhalten? Und irgendwie https im Spiel? ICh kann es nicht nachstellen und es ist nicht trivial herauszufinden woran es liegen könnte, daher möglichst viele Infos bitte. Controller würde ich eher ausschließen, da wie du sagst auch ohne neuen Controller passiert (auch wenn es laut deinen Tests häufiger auftritt).
-
(async () => { $('*').each(async id => { try { const state = await getBinaryStateAsync(id) try { if (state) { JSON.parse(state.toString()) } } catch (e) { log('Binary state found: ' + id, 'error') } } catch { // ignore } }) })();
Macht er das oder meckert er da auch?
-
@foxriver76 sagte in js-controller 5.0.x jetzt für alle User im STABLE!:
(async () => {
Kein Fehler, aber jetzt ist das Log 12MB groß (kein Vorwurf!), weil er jeden State als Binary erkennt.
-
@ofbeqnpolkkl6mby5e13 Kannst du mir das Log bereitstellen?
-
Selbstverständlich. Wie?
-
@ofbeqnpolkkl6mby5e13 12 MB könnten evtl noch per Mail gehen: moritz.heusinger@gmail.com
Ansonsten villt eifnach ein File Upload (https://easyupload.io/) und mir den Link schicken falls du keine Bedenken hast
-
Ist ja nur Text. Gepackt keine 300kb groß.