BatchLinkableResource - resolution of uriFragment failed

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
zeropage
Beiträge: 16
Registriert: 24. Nov 2020 08:40
Answers: 0

BatchLinkableResource - resolution of uriFragment failed

Beitrag von zeropage »

Hi!

Mir wird im openhab2.log häufig folgender Fehler aufgeführt:

Code: Alles auswählen

2021-01-28 10:16:05.705 [ERROR] [xbase.resource.BatchLinkableResource] - resolution of uriFragment '|::0.2.3.2.0.1.1.2.1.6::0::/1' failed.
java.lang.NullPointerException: null
Reproduzierbar nach Neustarts und nach dem Speichern von .rules Dateien. Ich habe bereits nach dem Fehler im Netz recherchiert, aber keine wirksame Lösung gefunden. Zunächst nahm ich an, dass es an meiner Kombination aus VSCode und Samba liegen könnte. Wenn ich eine Datei in der Bash Shell mit nano speichere, kommt es allerdings auch diesem Fehler.

Ich habe auch einmal alle rules.-Dateien gelöscht, den openHAB Cache gelöscht und openHAB, als auch das System neu gestartet: Problem besteht weiterhin.

Hier und da habe ich von einem Zusammenhang mit dem Raspberry Pi als Plattform und einer SD-Card als Speichermedium gelesen. Das erscheint mir aber abwegig, weil ich openHAB bereits 2 Jahre auf diesem System betreibe, ohne dass es zur betreffenden NullPointerException kam.

Ebenfalls wird auf Timing Probleme und Race Conditions bei solcher Hardware verwiesen. Das wäre für mich ein Bug in openHAB. Schließlich muss Parallelisierung mit einer solchen Situation klar kommen. Ich erwähne das an dieser Stelle, weil ich mit openHAB Rules, Events und Thing/Item-File-Updates immer wieder seltsames, unkontrollierbares Verhalten habe. :roll:

Würde mich freuen, wenn jemand eine Lösung für das Problem hat. :)

RPi 3 Model B (armv7l)
DietPi v6.34.3
openhab2 v2.5.12-1
Homegear v0.7.48-3324
mosquitto v1.5.7

Add-ons:

Code: Alles auswählen

224 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: Astro Binding
225 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: Homematic Binding
226 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: Mail Binding
227 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: MQTT Broker Binding
228 x Active x  81 x 2.5.12                  x openHAB Add-ons :: Bundles :: MQTT Things and Channels
229 x Active x  82 x 2.5.12                  x openHAB Add-ons :: Bundles :: MQTT HomeAssistant Convention
230 x Active x  82 x 2.5.12                  x openHAB Add-ons :: Bundles :: MQTT Homie Convention
235 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: IO :: Java Sound Support
236 x Active x  80 x 2.5.12                  x openHAB Add-ons :: Bundles :: IO :: Web Audio Support
238 x Active x  75 x 2.5.12                  x openHAB Add-ons :: Bundles :: Transformation Service :: JSonPath
239 x Active x  75 x 2.5.12                  x openHAB Add-ons :: Bundles :: Transformation Service :: Map
240 x Active x  75 x 2.5.12                  x openHAB Add-ons :: Bundles :: Transformation Service :: Scale
PS: Weitere Fehlermeldungen, die bei der Lösung evtl. hilfreich sein könnten...

Code: Alles auswählen

...WorkspaceManager] - The document file:///etc/openhab2/ has not been opened.
...ModelRepositoryImpl] - Configuration model 'lighting.rules' is either empty or cannot be parsed correctly!

zeropage
Beiträge: 16
Registriert: 24. Nov 2020 08:40
Answers: 0

Re: BatchLinkableResource - resolution of uriFragment failed

Beitrag von zeropage »

Ach. Nun habe ich mir bei meinem Post so viel Mühe gegeben. Niemand mag dazu was schreiben. :oops:

TomW80
Beiträge: 122
Registriert: 7. Mai 2021 19:11
Answers: 0

Re: BatchLinkableResource - resolution of uriFragment failed

Beitrag von TomW80 »

Hallo,

ich habe aktuell nach dem Neustart von OH auch diesen Fehler. (Cache habe ich vor dem Neustart auch gelöscht)
Wer kann zu dem Fehler etwas sagen?

Hat da evtl. die SD-Karte einen defekt?

Hier ein Auszug aus dem Stack Trace, betrifft aber wohl alle items.
Stack Trace

java.lang.UnsupportedOperationException: Missing type computation for expression type: QuantityLiteral / ExpressionTypeComputationState: ExpressionAwareStackedResolvedTypes: [
parent: [
featureLinking:
<XMemberFeatureCallImplCustom> > <QuantityLiteralImpl> -> org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$2@7aa7a1b1
parent: [
expressionTypes:
Zirkulationspumpe_BSZ_Test2 ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=Object, flags=[SUCCESS, CHECKED], returnType=false]
<XFeatureCallImplCustom>.state ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=Object, flags=[SUCCESS, CHECKED], returnType=false]
featureLinking:
Zirkulationspumpe_BSZ_Test2 -> org.eclipse.xtext.xbase.typesystem.internal.UnresolvableFeatureCall@211c08c7
<XFeatureCallImplCustom>.state -> org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$2@21f4600e
parent: [
parent: [
parent: [
expressionTypes:
previousState ->
TypeData [expectation=TypeExpectation [expectation=<void not allowed>], type=State, flags=[UNCHECKED], returnType=false]
TypeData [expectation=TypeExpectation [expectation=Object], type=State, flags=[SUCCESS, SUBTYPE, CHECKED], returnType=false]
NULL ->
TypeData [expectation=ObservableTypeExpectation [expectation=Object], type=UnDefType, flags=[SUCCESS, SUBTYPE, CHECKED], returnType=false]
<XFeatureCallImplCustom> == <XFeatureCallImplCustom> ->
TypeData [expectation=TypeExpectation [expectation=boolean], type=boolean, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XStringLiteralImpl@7e299d70 (value: duration) ->
TypeData [expectation=ObservableTypeExpectation [expectation=String], type=String, flags=[UNCHECKED], returnType=false]
org.eclipse.xtext.xbase.impl.XStringLiteralImpl@3864b958 (value: Alter Wert war NULL, Abbruch!) ->
TypeData [expectation=ObservableTypeExpectation [expectation=String], type=String, flags=[UNCHECKED], returnType=false]
logInfo(<XStringLiteralImpl>,<XStringLiteralImpl>) ->
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=void, flags=[UNCHECKED], returnType=false]
return; ->
TypeData [expectation=RootTypeExpectation [expectation=void], type=void, flags=[UNCHECKED, EXPLICIT_VOID_RETURN], returnType=true]
TypeData [expectation=NoExpectation [expectation=<no expectation>], type=void, flags=[UNCHECKED, NO_IMPLICIT_RETURN], returnType=false]
{
logInfo(<XStringLiteralImpl>,<XStringLiteralImpl>)
return;
} ->

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

Re: BatchLinkableResource - resolution of uriFragment failed

Beitrag von udo1toni »

Welche Version? Lief die Version schon mal ohne Probleme? Was hast Du vor dem Neustart gemacht?

openHAB2 ist uralt und hat nur wenig mit der aktuellen Version openHAB5 zu tun. Es ist also in den seltensten Fällen hilfreich, sich an einen Thread anzuhängen, in dem es auch damals gar keine Antwort gab.
Der stack Trace ist hier nicht hilfreich, offensichtlich kommt openHAB gar nicht erst korrekt hoch.

Allerdings: wenn ich so quer über den Stack Trace schaue, wäre mein Tipp, dass Du es irgendwie geschafft hast, eine Rule zu erstellen, die fehlerhaft gespeichert wurde. Eine Möglichkeit wäre, die entsprechenden Dateien zurückzurollen. Es gibt im userdata Verzeichnis ein Unterverzeichnis jsondb, dort gibt es einen Ordner backups, in diesem findest Du (default Verhalten) die letzten 5 Versionen aller Konfigurationsdateien, die über die UI generiert werden. Suche die von den Rules heraus und ersetze die entsprechende Datei im jsondb Ordner mit einer der alten Versionen.

Du musst dazu openHAB anhalten.
Sichere bitte die ersetzte Datei (indem Du sie umbenennst, z.B. in der Form <dateiname>.old).
Du kannst auch versuchen, die Datei händisch zu reparieren, dazu musst Du allerdings genau wissen, was Du tust :) es ist ein Stück weit eine Operation am offenen Herzen.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Antworten