NEWS
Server Cannot start inMem-objects on port 9001
-
@thekilroy sagte in Server Cannot start inMem-objects on port 9001:
Leider ist aber die Ursache noch nicht gefunden.
Doch ich denke schon. Jedes Aktualisieren der Adapter schreibt das repositories-Objekt (7 MB). Du hast weniger Objekte als die Untergrenze fürs automatische komprimieren, d.h. es wird nie komprimiert.
Mit diesem PR passiert das dann wenigstens täglich:
https://github.com/ioBroker/ioBroker.js-controller/pull/2004 -
Guten Morgen zusammen…
So seit gestern hats mich nun auch erwischt mit dem Fehler… Dann werd ich mich mal durch den schon ziemlich langen Thread hier graben… -
Hi, könntest du mir kurz erklären wie man den PR bei sich konfiguriert? Danke und Grüße
-
@alcalzone Hi, könntest du mir kurz erklären wie man den PR bei sich konfiguriert? Danke und Grüße
-
Ok,
- ioBroker beenden
- Datei /opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemJsonlDB.js editieren und am Ende VOR Zeile 39 eine neue Zeile einfügen mit
intervalMs: 1000 * 60 * 60 * 24,
Dann ioBroker neu starten.
Ingo
-
Bei mir der gleiche Fehler...
@ioBroker:/opt/iobroker# node node_modules/iobroker.js-controller/controller.js --logs 2022-10-16 00:31:53.746 - info: host.ioBroker iobroker.js-controller version 4.0.23 js-controller starting 2022-10-16 00:31:53.756 - info: host.ioBroker Copyright (c) 2014-2022 bluefox, 2014 hobbyquaker 2022-10-16 00:31:53.759 - info: host.ioBroker hostname: ioBroker, node: v16.17.0 2022-10-16 00:31:53.760 - info: host.ioBroker ip addresses: 192.168.178.178 fe80::b011:c7ff:fef6:2549 2022-10-16 00:31:55.886 - error: host.ioBroker-Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"!
@ioBroker:/opt/iobroker# sudo ss -tulpn | grep LISTEN tcp LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=137,fd=4),("systemd",pid=1,fd=28)) tcp LISTEN 0 511 0.0.0.0:8400 0.0.0.0:* users:(("io.jarvis.0",pid=1545,fd=27)) tcp LISTEN 0 511 192.168.178.178:8081 0.0.0.0:* users:(("io.admin.0",pid=369,fd=27)) tcp LISTEN 0 100 127.0.0.1:25 0.0.0.0:* users:(("master",pid=353,fd=13)) tcp LISTEN 0 511 0.0.0.0:1883 0.0.0.0:* users:(("io.sonoff.0",pid=1184,fd=26)) tcp LISTEN 0 511 192.168.178.178:9093 0.0.0.0:* users:(("io.fakeroku.0",pid=1427,fd=27)) tcp LISTEN 0 511 127.0.0.1:9000 0.0.0.0:* users:(("iobroker.js-con",pid=173,fd=26)) tcp LISTEN 0 511 127.0.0.1:9001 0.0.0.0:* users:(("iobroker.js-con",pid=173,fd=20)) tcp LISTEN 0 4096 [::]:111 [::]:* users:(("rpcbind",pid=137,fd=6),("systemd",pid=1,fd=30)) tcp LISTEN 0 4096 *:22 *:* users:(("systemd",pid=1,fd=49)) tcp LISTEN 0 100 [::1]:25 [::]:* users:(("master",pid=353,fd=14)) tcp LISTEN 0 511 *:8091 *:* users:(("io.lovelace.0",pid=1637,fd=26)) tcp LISTEN 0 511 *:7999 *:* users:(("io.geofency.0",pid=847,fd=26)) tcp LISTEN 0 511 *:61991 *:* users:(("io.harmony.0",pid=1485,fd=26))
npm -v 8.15.0
nodejs -v v16.17.0
iob -v 4.0.23
Was kann ich hier tun :/?
-
@stadtschloss sagte in Server Cannot start inMem-objects on port 9001:
Was kann ich hier tun :/?
Nicht als root rumeimern wäre schon ein Anfang.
Timeouts hochgesetzt?
-
Habe ein Backup erstellt unter proxmox und eine neue Maschine mit dem aktuellen Stand eingespielt. Sollte durch root benutzen etwas kaputt gehen, besteht ein Backup. Bin quasi das erste mal mit root auf dem Rechner.
Was meinst du mit timeouts? Ich habe soweit ich weis nirgends etwas angepasst. Wo kann ich das prüfen?
Meinst du "connectTimeout": 1500000," in der iobroker.json?
Danke! -
Als erstes legt man einen user an. Siehe Installationsanleitung.
-
Ich hatte letzten Freitag auch so ein Problem. Alles lief vorher unauffällig. Dann habe ich bemerkt, dass scheinbar Teile sich neu starteten, denn ich habe Notifications bekommen, die nur bei einem Neustart kommen. Etwa zwei Stunden später war ioBroker weg (bzw. da ist es mir aufgefallen).
Ich habe dann so die üblichen Tests gemacht und im Log auch die Out of Memory Meldung gefunden
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory 1: 0xa3ac10 node::Abort() [iobroker.js-controller] 2: 0x970199 node::FatalError(char const*, char const*) [iobroker.js-controller] 3: 0xbba5ce v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [iobroker.js-controller] 4: 0xbba947 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [iobroker.js-controller] 5: 0xd76b65 [iobroker.js-controller] ...
Da ich keine Zeit für eine weitere Fehlersuche hatte, habe ich schnell den Speicher der VM von 12 auf 20GB angehoben - und schon lief der ioBroker wieder!
Meine states.jsonl ist übrigens auch knappe 500MB groß ...
-
@flugwelle ok. Eine States mit 500mb ist krass. Wie groß ist objects.jsonl und wie viele Objekte und States laut Admin?
-
@apollon77 said in Server Cannot start inMem-objects on port 9001:
Wie groß ist objects.jsonl und wie viele Objekte und States laut Admin?
objects.jsonl ist 41MB bei 50475 Objekten ...
-
@flugwelle das passt. Aber wo hast du 50k Objekte her!??! Das klingt Zuviel es sei denn es ist Absicht. Ggf Ble Adapter im Spiel?
-
@apollon77 said in Server Cannot start inMem-objects on port 9001:
Aber wo hast du 50k Objekte her!??! Das klingt Zuviel es sei denn es ist Absicht.
Was heisst Absicht ... die sind da, keine Ahnung, wer da was beisteuert.
Kann man das irgend auflisten? Welcher Adapter wieviele Objekte hat?Ich könnte mir vorstellen, dass der Unifi Adapter mit allen Netzwerk Clients eine Menge ausmacht ...
-
Noch mal die Frage in die Runde: kann man irgendwie herausfinden, welche Adapter wieviele Objekte haben?
In der Zwischenzeit ist mein System bei 67826 Objekten und die states.jsonl bei 689MB ... -
-
@glasfaser Klappt nicht ... vermutlich weil es zu groß ist. Wenn ich nur die Auswahl exportiere bekomme ich ein .json - ansonsten leider nicht.
-
du brauchst nichts exportieren ... steht doch schon im Popup Feld drin ..
-
@glasfaser Ich soll jetzt jede Zeile einzeln ausprobieren? Nicht wirklich - oder?
-
Du brauchst doch nur den Hauptordner anwählen !!!
oder per Befehl
iob list objects admin.* | wc -l