Warnmeldung im log - persistence?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
DHog
Beiträge: 12
Registriert: 15. Feb 2020 19:03
Answers: 0
Wohnort: Dortmund

Warnmeldung im log - persistence?

Beitrag von DHog »

Hallo, ich habe OH3.2 auf einem raspi und bekomme für mehrere (wenige) items solche log-Einträge. Kann mir hier jemand helfen?

Code: Alles auswählen

2024-04-05 14:23:07.067 [WARN ] [org.openhab.core.items.GenericItem  ] - failed notifying listener 'org.openhab.core.persistence.internal.PersistenceManagerImpl@15237b9' about state update of item KU_Motion: 6621
java.lang.IndexOutOfBoundsException: 6621
	at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:169) ~[?:?]
	at org.mapdb.DataInput2.readUnsignedByte(DataInput2.java:74) ~[?:?]
	at org.mapdb.DataInput2.unpackInt(DataInput2.java:184) ~[?:?]
	at org.mapdb.SerializerBase.deserializeString(SerializerBase.java:858) ~[?:?]
	at org.mapdb.SerializerBase.deserialize(SerializerBase.java:1094) ~[?:?]
	at org.mapdb.SerializerBase.deserialize(SerializerBase.java:867) ~[?:?]
	at org.mapdb.SerializerPojo.deserialize(SerializerPojo.java:705) ~[?:?]
	at org.mapdb.BTreeMap$NodeSerializer.deserialize(BTreeMap.java:449) ~[?:?]
	at org.mapdb.BTreeMap$NodeSerializer.deserialize(BTreeMap.java:288) ~[?:?]
	at org.mapdb.Store.deserialize(Store.java:297) ~[?:?]
	at org.mapdb.StoreDirect.get2(StoreDirect.java:486) ~[?:?]
	at org.mapdb.StoreWAL.get2(StoreWAL.java:336) ~[?:?]
	at org.mapdb.StoreWAL.get(StoreWAL.java:320) ~[?:?]
	at org.mapdb.Caches$HashTable.get(Caches.java:246) ~[?:?]
	at org.mapdb.EngineWrapper.get(EngineWrapper.java:58) ~[?:?]
	at org.mapdb.BTreeMap.put2(BTreeMap.java:677) ~[?:?]
	at org.mapdb.BTreeMap.put(BTreeMap.java:643) ~[?:?]
	at org.openhab.persistence.mapdb.internal.MapDbPersistenceService.store(MapDbPersistenceService.java:186) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
	at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Warnmeldung im log - persistence?

Beitrag von udo1toni »

Das ist etwas unspezifisch, aber: das Problem wird durch das Item KU_Motion ausgelöst.
Das Problem besteht mit dem Persistence Service, und zwar genauer mit MapDB.
Ein Index liegt außerhalb des gültigen Bereichs.
Vermutlich ist der Index einer, der intern im Addon verwendet wird, dazu müsste man wissen, wie das Addon funktioniert.
Du kannst aber mal schauen, welche Status das Item so hält, vielleicht gibt es da Auffälligkeiten.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

DHog
Beiträge: 12
Registriert: 15. Feb 2020 19:03
Answers: 0
Wohnort: Dortmund

Re: Warnmeldung im log - persistence?

Beitrag von DHog »

Vielen Dank für die schnelle Rückmeldung. Das item ist ein switch und nimmt die Werte "on" und "off" an. Da ist nichts auffällig.
Ich habe für andere Räume gleiche items (z.B. WZ_Motion). Da ist alles in Ordnung.
Die gleiche Warnmeldung im log bekomme ich auch für das numerische item KU_HumIndex.
Meine Vermutung ist, dass die Datenbank vielleicht einen Fehler hat. Was meinst Du?

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Warnmeldung im log - persistence?

Beitrag von udo1toni »

Ausschließen kann ich das nicht, es gibt aber eine Möglichkeit, das zu bestätigen oder eben nicht.
Stoppe openHAB und benenne die entsprechende Dateien um (zu finden in $OPENHAB_USERDATA/persistence/mapdb/) alle Dateien außer der Readme.txt benennst Du z.B. um, indem Du im Namen ein .old ergänzt. Anschließend startest Du openHAB wieder, woraufhin es neue Dateien anlegen sollte.
Natürlich fliegen dabei die Werte weg, die gewöhnlich beim Neustart wiederhergestellt werden, denn das ist ja der Daseinszweck von mapdb. Du solltest also danach alle betreffenden Schalter und Werte prüfen und gegebenenfalls korrigieren. Funktioniert nach der Aktion alles wieder so wie es soll, dann war tatsächlich mindestens eine der beteiligten Dateien defekt. Tritt der Fehler weiterhin auf, war das nicht die Ursache und Du kannst Dir überlegen, ob Du alles wieder rückgängig machst (openHAB anhalten, neue Dateien löschen, alte Dateien wieder umbenennen, openHAB starten) oder alles so lässt, wie es ist...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten