Seite 1 von 1

Error-Meldung, aber keine Ahnung, was sie mir sagen möchte

Verfasst: 11. Apr 2022 13:02
von OliverCJ
Hallo zusammen,

in letzter Zeit nur sehr sporadisch hier unterwegs und auch kaum Fortschritte bei openHAB... Dafür freut sich mein Arbeitgeber, dass ich mal wieder mehr da bin ;-)

Heute habe ich aber doch mal wieder in die Logs geschaut, zumal ich den Log-Level vor einiger Zeit verändert habe, da ich nicht mehr jeden Mist sehen möchte und die rules auch alle funktionieren. Heute ist mir aber das hier aufgefallen:

Code: Alles auswählen

2022-04-11 12:46:46.687 [ERROR] [xt.ide.server.concurrent.ReadRequest] - Error during request: 

java.lang.IllegalArgumentException: Bad escape

	at sun.nio.fs.UnixUriUtils.fromUri(UnixUriUtils.java:87) ~[?:?]

	at sun.nio.fs.UnixFileSystemProvider.getPath(UnixFileSystemProvider.java:103) ~[?:?]

	at java.nio.file.Path.of(Path.java:203) ~[?:?]

	at java.nio.file.Paths.get(Paths.java:97) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.toPathAsInXtext212(MappingUriExtensions.java:184) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.map(MappingUriExtensions.java:156) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.toUri(MappingUriExtensions.java:62) ~[?:?]

	at org.eclipse.xtext.ide.server.LanguageServerImpl$1.lambda$doRead$1(LanguageServerImpl.java:1098) ~[?:?]

	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	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) [?:?]

2022-04-11 12:46:46.853 [ERROR] [t.ide.server.concurrent.WriteRequest] - Error during request: 

java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Bad escape

	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1452) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1442) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1444) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1442) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1444) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1442) ~[?:?]

	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1442) ~[?:?]

	at java.util.concurrent.CompletableFuture.allOf(CompletableFuture.java:2337) ~[?:?]

	at org.eclipse.xtext.ide.server.concurrent.RequestManager.cancel(RequestManager.java:114) ~[?:?]

	at org.eclipse.xtext.ide.server.concurrent.RequestManager.runWrite(RequestManager.java:80) ~[?:?]

	at org.eclipse.xtext.ide.server.LanguageServerImpl.didChangeConfiguration(LanguageServerImpl.java:463) ~[?:?]

	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]

	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]

	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]

	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94) ~[?:?]

	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	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) [?:?]

Caused by: java.lang.IllegalArgumentException: Bad escape

	at sun.nio.fs.UnixUriUtils.fromUri(UnixUriUtils.java:87) ~[?:?]

	at sun.nio.fs.UnixFileSystemProvider.getPath(UnixFileSystemProvider.java:103) ~[?:?]

	at java.nio.file.Path.of(Path.java:203) ~[?:?]

	at java.nio.file.Paths.get(Paths.java:97) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.toPathAsInXtext212(MappingUriExtensions.java:184) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.map(MappingUriExtensions.java:156) ~[?:?]

	at org.openhab.core.model.lsp.internal.MappingUriExtensions.toUri(MappingUriExtensions.java:62) ~[?:?]

	at org.eclipse.xtext.ide.server.LanguageServerImpl$1.lambda$doRead$1(LanguageServerImpl.java:1098) ~[?:?]

	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]

	... 5 more

2022-04-11 12:50:31.324 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:932) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1003) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:975) ~[?:?]

	at org.openhab.binding.heos.internal.json.HeosJsonParser.postProcess(HeosJsonParser.java:65) ~[?:?]

	at org.openhab.binding.heos.internal.json.HeosJsonParser.parseResponse(HeosJsonParser.java:61) ~[?:?]

	at org.openhab.binding.heos.internal.resources.HeosSendCommand.send(HeosSendCommand.java:51) ~[?:?]

	at org.openhab.binding.heos.internal.api.HeosSystem.send(HeosSystem.java:159) ~[?:?]

	at org.openhab.binding.heos.internal.api.HeosSystem.send(HeosSystem.java:155) ~[?:?]

	at org.openhab.binding.heos.internal.api.HeosFacade.getPlayMode(HeosFacade.java:503) ~[?:?]

	at org.openhab.binding.heos.internal.handler.HeosThingBaseHandler.refreshPlayState(HeosThingBaseHandler.java:348) ~[?:?]

	at org.openhab.binding.heos.internal.handler.HeosGroupHandler.refreshPlayState(HeosGroupHandler.java:312) ~[?:?]

	at org.openhab.binding.heos.internal.handler.HeosThingBaseHandler.bridgeChangeEvent(HeosThingBaseHandler.java:192) ~[?:?]

	at org.openhab.binding.heos.internal.resources.HeosSystemEventListener.fireBridgeEvent(HeosSystemEventListener.java:83) ~[?:?]

	at org.openhab.binding.heos.internal.api.HeosEventController.systemReachable(HeosEventController.java:113) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]

	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) [?:?]

Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $

	at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:163) ~[?:?]

	at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:88) ~[?:?]

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215) ~[?:?]

	... 20 more
Ich sehe da noch was zum Heos-Binding, da kann ich mal schauen... aber der Rest sagt mir so gar nichts.
Könnte mir jemand helfen?

Danke!

Viele Grüße
Oliver

Re: Error-Meldung, aber keine Ahnung, was sie mir sagen möchte

Verfasst: 11. Apr 2022 18:27
von udo1toni
Ich dampfe das Ganze mal etwas ein:

Code: Alles auswählen

2022-04-11 12:46:46.687 [ERROR] [xt.ide.server.concurrent.ReadRequest] - Error during request: 
java.lang.IllegalArgumentException: Bad escape
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-04-11 12:46:46.853 [ERROR] [t.ide.server.concurrent.WriteRequest] - Error during request: 
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Bad escape
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.IllegalArgumentException: Bad escape
	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]
2022-04-11 12:50:31.324 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $
	at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:163) ~[?:?]
	at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:88) ~[?:?]
Es geht also um ein "Bad Escape", im Zusammenhang in einem "Lambda", welches aus einem "Scheduled runnable" stammt. Dort trat eine JSON Syntax Exception auf. Es wurde ein "Objekt" erwartet aber ein "Array" angetroffen. Der "JSONTreeReader" ist über den Fehler gestolpert.

Es ist erst mal schwer, das konkret zuzuordnen, aber ein paar Stichworte sind dabei, die helfen können es einzugrenzen.
Suche nach JSONPATH Statements (das ist der JSONTreeReader). Eventuell stimmt da irgendwo die Syntax nicht, irgendeine blöde Kleinigkeit.
Wenn der Fehler erst neuerdings auftritt, überlege sehr genau, was Du zuletzt angepasst hast, vielleicht ist da ja was mit JSONPATH dabei.
Lambda und Shceduled runnable würde ich als Timer interpretieren wollen, aber der Scheduler lässt eine Menge Code laufen, selbst geschriebene Rules machen da nur den allerkleinsten Teil aus. Es kann durchaus sein, dass der Code aus einem Binding stammt und nicht aus Deiner Feder.