ioBroker / ioBroker.javascript

Script engine for JavaScript and Blockly
MIT License
325 stars 120 forks source link

Kein Blockly speichern mehr möglich nach Update auf 4.3.4 #487

Closed Stormbringer11 closed 3 years ago

Stormbringer11 commented 4 years ago

Nach Update von letzter Stable Version auf Stable 4.3.4 ist unter Blockly kein abspeichern mehr möglich. Es erscheint zwar der "Speicher" Button und nach Betätigung verschwindet er aber der System speichert Änderungen einfach nicht ab und der Skript ist wie vorher. Also wie wenn man auf Abbrechen drückt. Im LOG erscheint leider nichts. Lediglich die Chrome (MacOS) Browser Konsole meldet ab und zu "Ignoring non-existent field OID in block text". Weiß nicht ob das mit dem Fehler zusammen hängt. Chache leeren bringt nichts, Firefox (MacOS) das Selbe.

Daten zur Installation : JS Controller 2.2.8, npm 6.13.4, node 10.18.1, auf einem Intel NUC mit Ubuntu 18.4

Falls ihr noch etwas benötigt helfe ich natürlich gerne.

Stormbringer11 commented 4 years ago

Nachtrag, Fehler besteht unter aktueller Version 4.4.2 weiter:

Also ich habe bei allen Versionen nach JS Adapter 4.1.12 massive Speicherprobleme. Mit der jetzigen geht es zwar ab und zu, momentan speichert er aber wieder gar nicht mehr. Egal ob Firefox, Safari oder Chrome.

Im LOG erscheint nichts. In der Chrome Konsole kommt vorm Fehler folgendes:

Bildschirmfoto 2020-02-14 um 16 26 50

Arbeite nur mit Blockly aber "normale" Skripte habe ich probiert könnte ich abspeichern. Betrifft also nur Blockly.

Mit den Updates von dem socketio Projekt ist es besser geworden, da kann ich zumindest ab und zu abspeichern aber leider noch weit weg von benutzbar.

Admin 4.0.2 Socketio 3.0.0 Web 3.0.0 JS Adapter aktuell noch 4.4.2

Cache leeren bringt leider nichts. Aber Skripte laufen zumindest alle normal. Nur ändern ginge schlecht.

Ilovegym66 commented 4 years ago

Jep ich kann weder js noch blockly ändern... Er speichert nicht..

Holger76 commented 4 years ago

bei mir das gleiche in Windows 10 Firefox. Nach JS Adapter Neustart gehts eine Weile. System: Debian 10 auf Proxmox VM auf NUC 6 CAYH, Adapter alle auf latest..., NodeJS 10 aktuell.

Apollon77 commented 4 years ago

Bitte mal 4.4.3 versuchen (Achtung: Admin 4.0.x benötigt!)

Stormbringer11 commented 4 years ago

Erst mal vielen Dank fürs anschauen. 4.4.3 geht leider auch nicht. Nur das erste mal speichern klappt jedes weiteres springt er wieder zurück wie wenn man abbrechen gedrückt hätte. Im LOG kommt wieder nichts. In der Chrome Konsole kommt das (gefiltert nur nach Fehler):

Bildschirmfoto 2020-03-20 um 08 09 51

Ohne Filter kommen durchgehend solche Meldungen in der Chrome Konsole an:

Bildschirmfoto 2020-03-20 um 08 12 48 Bildschirmfoto 2020-03-20 um 08 12 33 Bildschirmfoto 2020-03-20 um 08 12 08

Admin 4.0.5 JS Controller 2.2.9 auf einen Intel NUC mit Ubuntu Node 10.19.0 npm 6.13.7

Im Forum berichten andere User auch von Speicher- und Geschwindigkeitsproblemen. Wobei die Geschwindigkeit von der 4.4.3 beim kurz antesten schon besser wäre aber halt nichts bringt, wenn man nicht speichern kann.

Stormbringer11 commented 4 years ago

Sorry Forumslink vergessen:

https://forum.iobroker.net/topic/31020/javascript-blockly-wird-oft-nicht-gespeichert/9

GermanBluefox commented 4 years ago

I cannot reproduce it.

Stormbringer11 commented 4 years ago

Danke fürs anschauen. Der Fehler tritt auch nur bei manchen auf. Warum auch immer... Kann ich dir noch irgendwelche Daten liefern, dass du dich leichter tust oder keine Chance den Bug zu finden?

Ilovegym66 commented 4 years ago

I solved it with deinstall the socketio Adapter...

Stormbringer11 commented 4 years ago

und jetzt arbeitest ohne socketio? oder dann neu installiert wieder?

Apollon77 commented 4 years ago

Was socketio in wrong version? Or correctly updates as admin, web and all the others?

Stormbringer11 commented 4 years ago

ich hab alle aktuell admin 4.0.5 web 3.0.2 socketio 3.0.1

Stormbringer11 commented 4 years ago

Danke für den Tip aber Socketio deinstallieren bringt bei mir leider auch nicht viel. Chrome speichert er ab und zu und Firefox fragt meistens nicht mal mehr nach ob er speichern soll.

In der Konsole von Firefox kommt:

Bildschirmfoto 2020-03-22 um 00 48 27

Bei Chrome:

Bildschirmfoto 2020-03-22 um 00 51 46

Die Fehler kommen aber schon gleich. Beim speichern selber meldet er über Konsole keine Errors rein.

Hilft das ein bisschen weiter?

Apollon77 commented 4 years ago

Das sind alles irrelevante Warnungen bzw Fehler weil ein Bild nicht gefunden wird ... nichts davon weisst auf irgendetwas genaueres hin :-( Schade

Stormbringer11 commented 4 years ago

Schade aber trotzdem danke. Dann hoffe ich mal, dass man die 4.1.12 noch länger hernehmen kann oder sollt ich vorsichtshalber dann den JS Controller und so ab sofort lieber nicht mehr updaten?

Stormbringer11 commented 4 years ago

Glaub ich habs geknackt :o) Habe aus Verzweiflung mal nochmal ein Update auf neueste beta probiert, mit npm rebuild und fixer. Beim Hochfahren als alle Adapter noch nicht liefen ging das Speichern einwandfrei. Als alle Adapter auf grün waren wieder der selbe Fehler. Wenn man Geofency und Feiertage Adapter deaktiviert wirds besser, dann kann man ab und zu abspeichern. Wenn man den HAM Adapter mit dem tado Plugin deaktiviert läufts viel besser. Wenn man alle HAM Instanzen deaktiviert speichert er zu 85 % ab. Getestet bei einem primitiven Skript nur mit Kommentarblock. Also hatte mit keinem der Adapter was zu tun. Ergibt das für euch Experten einen Sinn? :o) Aber ich teste mal weiter...

Apollon77 commented 4 years ago

Würde nur Sinn machen wenn diese anderen Adapter das system mit state und/oder Objekt Änderungen zuspammen würde ... aber eigentlich eher mega Strange..

Stormbringer11 commented 4 years ago

Viele Objektänderungen kann ich jetzt auf die schnelle nicht beobachten aber behalte es im Auge. Was Fluttechnisch allerdings auffällt, wenn man den HAM mit tado Plug In z. B. auf silly LOG umstellt flutet er das ganze LOG zu. Aber so richtig. Auf normal „info“ flutet er auch. Hatte ihn auf „warn“. Wobei er schreibt im LOG auch immer stateChange und updateState. Meinst von der Ecke könnt’s kommen?

Apollon77 commented 4 years ago

Schalte mal expertenmodus ein in der Instanz Seite. Da siehst du wieviele events pro Adapter rein und raus gehen. Gibts da Adapter mit sehr viel?

Stormbringer11 commented 4 years ago

Admin 938/11 History 847/11 Hue 3873/11 JS Adapter 3 Instanzen je ca. 1100/11 Szenen 1120/11 sind so die Höchsten. Die HAM Instanz die das LOG flutet hat aber nur 200/188

GermanBluefox commented 4 years ago

Ergibt das für euch Experten einen Sinn?

Eigentlich nicht.

Apollon77 commented 4 years ago

Und wie geht es der Hardware und System l So? Cpu Last? Was ist es für ein System?...

Stormbringer11 commented 4 years ago

Die Hardware langweilt sich größtenteils... ist ein Intel NUC (Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz, 4 Kerne - 16 GB RAM) mit Ubuntu .

Top sieht so aus:

Bildschirmfoto 2020-03-22 um 15 18 03

Oder über Webmin dann so:

Bildschirmfoto 2020-03-22 um 15 22 06
Apollon77 commented 4 years ago

Das sind recht viele Messages "incoming" jeweils, aber am Ende alles ok denke ich

Stormbringer11 commented 4 years ago

stimmt ich sag ja nicht mal was über die Geschwindigkeit 😉 Hardware hätte ich eigentlich auch ausgeschlossen, weil dann würd die 4.1.12 nicht immer speichern und die danach dann alle auf einmal nicht mehr richtig. Es hat auf alle Fälle auch was gebracht den HAM Adapter zu deaktivieren, wenn der läuft kann ich nie abspeichern. Jetzt bin ich soweit wie die anderem in dem Forumslink. Zu 60% klappt’s im Alltag aber komischerweise auch nur im Inkognito Browser Modus. Im normalen ist die Quote wieder deutlich niedriger. Bin jetzt wieder auf die alte Version zurück, weils echt nervig ist alle 5 Sekunden abspeichern zu müssen und bei jedem 2.-3. Mal ist es dann wieder weg.

Apollon77 commented 4 years ago

Ok, kannst Du dann ggf exakt die "verursachende Version" rausfinden? Also 4.1.12 ist ok ... 4.1.13 nicht mehr? Oder ab wann exakt ist es kaputt? Dann könnten wir dort nochmal reinschauen

Stormbringer11 commented 4 years ago

Klar hab ich gern gemacht. Befürchte aber das wird auch wieder strange.... Also die Versionen habe ich über Terminal installieren müssen, da stellenweise im Admin total veraltete Versionen angezeigt worden sind oder nicht alle drinnen waren.

Mit Terminal Befehl iobroker update javascript npm install iobroker.javascript@versionsnummer Anschließend Upload

Irgendwie ist er beim ersten mal so träge gewesen, dass ich aus versehen 4.0.7 Version installiert habe (was anscheinend Glück im Ungück war). Wenn ich mich von den Versionen her hocharbeite geht es bis 4.3.1 ab 4.3.2 kommt der Bug. Und jetzt kommt das strange.. Wenn ich aber auf der 4.3.2 mal war und wieder rückwärts gehe, taucht der Speicherbug auch bei den vorgänger Versionen auf die vorher gingen?! Zieht sich dann durch bis 4.1.16 ab da geht das speichern dann wieder. Wenn ich aber jetzt auf die uralt 4.0.7. gehen und gleich auf 4.3.1 gehts. Ab 4.3.2 wieder Speicherbug. Hoffe ihr versteht das Verhalten mehr wie ich g

Stormbringer11 commented 4 years ago

Vergiss es, jetzt gings die ganze Zeit jetzt speichert er wieder nicht mehr :-( Glaub muss da die einzelnen Versionen einen Langzeittest machen, nur paar mal abspeichern als Test bringt es glaub ich nicht.

Apollon77 commented 4 years ago

Browser Cache zwischendurch gelöscht?

Stormbringer11 commented 4 years ago

Nein, natürlich war ich nicht s schlau ;D Aber jetzt dafür... Stand jetzt ist es so, dass die 4.1.16 bis jetzt geht. Und ab der 4.2.1 nicht mehr zuverlässig. Browerchache gelöscht. Die 4.17 kann ich nicht installieren. Also so wie es jetzt ausschaut ist wohl die 4.1.16 die letzte funktionierende. Aber ich teste mal 4.1.16 noch etwas weiter und melde mich dann wieder.

Stormbringer11 commented 4 years ago

Ok, also hab einiges geändert und eine Zeit getestet... Die 4.1.16 ist zwar total langsam und frickelig. Man muss auch mehrmals den Speicherbutton (zwischen 10 . 20 Mal, öfters drücken hatte die 4.1.12 auch schon) drücken aber die Version verwirft die Änderungen nicht. Da ich, wie gesagt die 4.1.17 leider nicht laden kann.. Müsste sich also der Fehler der bei manchen auftritt entweder in der 4.1.17 oder in der 4.2.1 eingeschlichen haben. Könntest du dir das mal anschauen, wenn du Zeit hast?

Apollon77 commented 4 years ago

Hm ... The ioBroker log itself is empty? DO you have activated the "disk mirroring" in your js instance? For 4.2.x mainly disk mirroring and inter-script.communication was added ...

Stormbringer11 commented 4 years ago

LOG ist leer, ja. An den js Einstellungen habe ich nichts geändert. Wenn es standardmässig aus ist, ist es aus. Hätte ich da was einschalten müssen?

Apollon77 commented 4 years ago

Na alles gut ... will nur die Ideen abklopfen

Apollon77 commented 4 years ago

Kannst Du die Instanz mal auf "debug "stellen und schauen ob ein Speichern dann etwas im Log bringt?

Stormbringer11 commented 4 years ago

Auf debug bringt er leider auch nicht viel.... Ab und zu kommt

(4094) system.adapter.admin.0: logging false (4094) system.adapter.admin.0: logging true

Holger76 commented 4 years ago

Ich wollte auch mal wieder Rückmeldung geben... Ich bin von meinem NUC6CAYH auf den NUC8I5BEH umgezogen, habe eine neue Iobroker VM erstellt, NodeJS12 installiert (Das einzige an Software was anders ist, vorher die 10er, ansonsten alles latest) und das minimal Backup reingeladen. Das Ding rennt wie Sau und es gibt keinerlei Probleme beim speichern. Nicht dass der alte langsam war, ich vermute eher, da war irgenwas grundlegendes zerschossen, da so einiges wie zb die Visu sehr langsam war. Also wer gar nicht klar kommt, ggf. mal neu aufsetzen. Dauert auch nicht so lange... B

Stormbringer11 commented 4 years ago

Danke für die Rückmeldung. Habe auch mal eine Neuinstallation probiert. Dabei auch gewechselt auf Proxmox. NodeJS12 installiert... Anfangs gings voll schnell und dachte das Problem ist gelöst aber nach ein paar Stunden ist es jetzt wieder der Stand von vorher. Dann probier ich mal die neuen Betas ansonsten halt dann einen noch schnelleren NUC probieren....

GermanBluefox commented 4 years ago

Kann ich das zumachen?

Stormbringer11 commented 4 years ago

Habe das Problem leider immer noch... Habe beim alten NUC komplette Neuinstallation durchgeführt. Die ersten Minuten alles ok, dann wirds wieder immer langsamer und Speicherfehler. Habe mir dann sogar einen neuen NUC geholt, i7 Hexacore mit 32 GB Ram. Sogar hier leider das selbe Problem. Nach Javaskript, Admin Neustart gehts rasend schnell und nach n paar Minuten wieder das selbe. Komischerweise hilft auch beim Speicherproblem Export vom Blockly, alte Blöcke löschen und dann die geänderten Importieren damit man abspeichern kann. Aber wenn leider sonst keiner mehr das Problem hat und ihr mit euerem Latein auch am Ende seid...

Apollon77 commented 4 years ago

AUch mal den 4.6.11 versucht?

Stormbringer11 commented 4 years ago

die war vor kurzem noch gar nicht im Latest. Danke, ich probier die Version mal. Melde mich dann wieder

Stormbringer11 commented 4 years ago

Leider das Selbe mit der 4.6.11... Mir kommt das irgendwie allmählich so vor wie wenn da irgendwas asycron laufen würde... Total strange ist auch, dass er jetzt manchmal Sachen zur Auswähl anzeigt, die nicht sein können. Wie Skripte abspeichern unter einem Adapter und Schleifen stoppen die eigentlich Variablen sind.

Bildschirmfoto 2020-05-19 um 16 06 30 Bildschirmfoto 2020-05-15 um 10 08 14

Admin bekommt Änderungen nicht mit, lädt manchmal über ne Mintue und dann wieder voll schnell... VIS fängt auch schon an mit den Speicherproblemen... Glaub allmählich es ist gar nicht der JS Adapter... Aber wenn man den NUC neu startet ist es die ersten Minuten wie im Paradies :o) Und dann fängt alles wieder von vorn an egal ob gelöschter Cache, welcher Browser....

Apollon77 commented 4 years ago

Bitte 4.6.14 testen

Stormbringer11 commented 4 years ago

Danke :o) Habe nur die 4.6.13 kurz antesten können aber so wie es aussieht läuft die Bombe. Top Arbeit ;o) Ich mache mal einen Langzeittest.

Die 4.6.14 könnte ich eh nicht probieren, wenn ich das richtig verstehe gehen ja dann alle States mit einem Punkt nicht mehr. Da müsste ich hunderte DPs und Skripte ändern.

Apollon77 commented 4 years ago

Neeeeeee States mit Punkten sind kein Thema. Es geht um skriptnamen beim anlegen von Skripten ... glaube auch nur neue

Stormbringer11 commented 4 years ago

oh super. ihr habt mir kurzzeitig echt angst gemacht 😉😋 also „nur“ bei 200 skripten das stop timeout überarbeiten oder wird das auch noch gefixt?

es ist zwar noch kein langzeittest aber der speicherfehler ist bis jetzt nicht wieder aufgetreten. denke das ist dann erledigt mit der 4.6.13. die 14er teste ich dann wenn’s im latest ist.

das einzige was mir nach wie vor aufgefallen ist, dass es bei größeren skripten schon noch gut langsam wird und der ladeskreis kommt. aber bei weitem nicht mehr so schlimm wie es vorher war. also beste js adapter version bis jetzt. danke 😉👍

Stormbringer11 commented 4 years ago

Habe jetzt gerade die 4.6.14 geladen. Wenn man kurzzeitig wieder auf Stable Version geht und dann auf die 4.6.14 geht, zieht er sich jetzt auch wieder die richtigen timeout stops. Also Top.

Das einzige was mir aufgefallen ist, dass alle Skripte die man zwischenzeitlich mit der 4.6.13 editiert hat, jetzt kaputt sind. Kommt "Cannot extract Blockly code!". LOG erscheint nichts.

Wenn man auf JS umstellt wär der Skript aber da.

Speicherproblem ist auf die kurze Zeit noch nicht aufgetreten. Muss ich noch ein bisschen testen.

Stormbringer11 commented 4 years ago

Also leider muss ich mitteilen, dass es die 4.6.14 wieder öfter hat, dass er nicht speichert. Zwar nicht soooo schlimm wie vorher aber schon nicht selten. Komischerweise, wenn ein Kommentarblock geadded wird sind die Chancen relativ hoch, dass er die Änderungen verschmeißt. Bei der 4.6.13 ist mir der Speicherfehler kein einziges mal aufgefallen.

GermanBluefox commented 4 years ago

Also leider muss ich mitteilen, dass es die 4.6.14 wieder öfter hat, dass er nicht speichert. Zwar nicht soooo schlimm wie vorher aber schon nicht selten. Komischerweise, wenn ein Kommentarblock geadded wird sind die Chancen relativ hoch, dass er die Änderungen verschmeißt. Bei der 4.6.13 ist mir der Speicherfehler kein einziges mal aufgefallen.

Da wurde nichts verändert, was speichern angeht