NEWS
Server Cannot start inMem-objects on port 9001
-
@apollon77 Bis jetzt hat sich die Größe "objects.jsonl" nicht verändert.
Noch als kleine Anmerkung. Der aktive Server ist ein Master-Slave-System bestehend aus einem RPI4 (wie Test-Server) und einem RPI3B. Beide Updates/Upgrades waren hier problemlos und laufen einwandfrei.
Hier auf dem Test-Server teste ich neue Komponenten wir z.B. eigene Tasmota-Controller oder auch Skripte oder Charts bevor ich diese auf dem aktiven Server einsetze. Es kann also durchaus sein, dass sich Überreste von altem Kram darauf befinden. -
@apollon77
ich versuche es noch mal aufzutreiben - habe das File umbenannt
THX -
@thekilroy hat dein Production System auch solche Aufblähungen Oder da alles ok?
-
@apollon77 Production System sieht alles gut aus.
Auf dem Test-Server habe ich eben, nachdem ich obigen Post verfasst habe, ein "iob update" und ein "iob upgrade -y" durchgeführt. Dazu noch den "javascript" Adapter installiert. Hier jetzt das aktuelle Listing des "iobroker-data" Verzeichnisses auf dem Test-Server mit laufendem "iobroker".
pi@shsrv02:/opt/iobroker $ ll -h iobroker-data/ insgesamt 1,4G 4,0K drwxrwxr-x+ 12 iobroker iobroker 4,0K Sep 20 21:49 . 4,0K drwxrwxr-x+ 8 iobroker iobroker 4,0K Sep 19 17:31 .. 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 20 21:59 backup-objects 4,0K drwxrwxr-x+ 35 iobroker iobroker 4,0K Sep 20 19:19 files 8,0K -rw-rwxr--+ 1 iobroker iobroker 4,7K Sep 19 20:28 iobroker.json 4,0K drwxrwxr-x+ 3 iobroker iobroker 4,0K Jul 16 2021 jarvis 4,0K drwxrwxr-x+ 5 iobroker iobroker 4,0K Sep 20 19:29 node-red 4,0K -rw-rwxr--+ 1 iobroker iobroker 3 Sep 18 18:44 notifications.json 5,5M -rw-rwxr--+ 1 iobroker iobroker 5,5M Feb 13 2022 objects.json.bak.migrated 26M -rw-r--r--+ 1 iobroker iobroker 26M Sep 20 19:50 objects.jsonl 1,4G -rw-rwxr--+ 1 iobroker iobroker 1,4G Sep 19 20:39 objects.jsonl.huge 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 20 23:24 objects.jsonl.lock 5,5M -rw-rwxr--+ 1 iobroker iobroker 5,5M Feb 13 2022 objects.json.migrated 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Dez 5 2020 sqlite 436K -rw-rwxr--+ 1 iobroker iobroker 435K Feb 13 2022 states.json.bak.migrated 0 -rw-rwxr--+ 1 iobroker iobroker 0 Dez 22 2021 states.json.broken 5,3M -rw-rw-r--+ 1 iobroker iobroker 5,3M Sep 20 23:23 states.jsonl 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 20 23:24 states.jsonl.lock 436K -rw-rwxr--+ 1 iobroker iobroker 435K Feb 13 2022 states.json.migrated 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Mai 10 18:11 yahka.0.hapdata 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Mai 10 18:15 yahka.1.hapdata 12K drwxrwxr-x+ 2 iobroker iobroker 12K Sep 20 23:01 zigbee_0
Die Datei ist zwar jetzt 28 MB groß, liegt aber wohl an dem zusätzlichen "javascript" Adapter.
-
@thekilroy ja das ist alles ok.
-
@apollon77 hier das aktuelle Listing von heute Abend.
pi@shsrv02:/opt/iobroker $ ll -h iobroker-data/ insgesamt 1,4G 4,0K drwxrwxr-x+ 12 iobroker iobroker 4,0K Sep 21 15:38 . 4,0K drwxrwxr-x+ 8 iobroker iobroker 4,0K Sep 19 17:31 .. 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 21 17:31 backup-objects 4,0K drwxrwxr-x+ 35 iobroker iobroker 4,0K Sep 20 19:19 files 8,0K -rw-rwxr--+ 1 iobroker iobroker 4,7K Sep 19 20:28 iobroker.json 4,0K drwxrwxr-x+ 3 iobroker iobroker 4,0K Jul 16 2021 jarvis 4,0K drwxrwxr-x+ 5 iobroker iobroker 4,0K Sep 20 19:29 node-red 4,0K -rw-rwxr--+ 1 iobroker iobroker 3 Sep 20 23:29 notifications.json 5,5M -rw-rwxr--+ 1 iobroker iobroker 5,5M Feb 13 2022 objects.json.bak.migrated 34M -rw-r--r--+ 1 iobroker iobroker 34M Sep 21 18:11 objects.jsonl 1,4G -rw-rwxr--+ 1 iobroker iobroker 1,4G Sep 19 20:39 objects.jsonl.huge 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 21 18:21 objects.jsonl.lock 5,5M -rw-rwxr--+ 1 iobroker iobroker 5,5M Feb 13 2022 objects.json.migrated 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Dez 5 2020 sqlite 436K -rw-rwxr--+ 1 iobroker iobroker 435K Feb 13 2022 states.json.bak.migrated 0 -rw-rwxr--+ 1 iobroker iobroker 0 Dez 22 2021 states.json.broken 8,5M -rw-rw-r--+ 1 iobroker iobroker 8,5M Sep 21 18:21 states.jsonl 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Sep 21 18:21 states.jsonl.lock 436K -rw-rwxr--+ 1 iobroker iobroker 435K Feb 13 2022 states.json.migrated 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Mai 10 18:11 yahka.0.hapdata 4,0K drwxrwxr-x+ 2 iobroker iobroker 4,0K Mai 10 18:15 yahka.1.hapdata 12K drwxrwxr-x+ 2 iobroker iobroker 12K Sep 21 17:31 zigbee_0
Die Datei ist im 8MB auf 34MB gewachsen.
-
@thekilroy alles locker im Rahmen
-
@apollon77 Sehr gut. Ich werde das aber weiter beobachten und falls es sich stark ändert, melde ich das hier.
Danke erst einmal für die tolle Hilfe. Leider ist aber die Ursache noch nicht gefunden. -
@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 ...