Skip to content

[amazonechocontrol] Possible API evolution causing errors #21426

Description

@clinique

Since yesterday, my log is full of such errors:

2026-08-17 18:01:43.776 [WARN ] [trol.internal.push.PushStreamAdapter] - Exception while processing message
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 743 path $.directive.payload.renderingUpdates[0].resourceMetadata
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
        at com.google.gson.Gson.fromJson(Gson.java:1384)
        at com.google.gson.Gson.fromJson(Gson.java:1259)
        at com.google.gson.Gson.fromJson(Gson.java:1169)
        at com.google.gson.Gson.fromJson(Gson.java:1106)
        at org.openhab.binding.amazonechocontrol.internal.push.PushStreamAdapter.onData(PushStreamAdapter.java:104)
        at org.eclipse.jetty.http2.HTTP2Stream.notifyData(HTTP2Stream.java:658)
        at org.eclipse.jetty.http2.HTTP2Stream.onData(HTTP2Stream.java:394)
        at org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:315)
        at org.eclipse.jetty.http2.HTTP2Session.onData(HTTP2Session.java:287)
        at org.eclipse.jetty.http2.HTTP2Connection$ParserListener.onData(HTTP2Connection.java:400)
        at org.eclipse.jetty.http2.parser.BodyParser.notifyData(BodyParser.java:108)
        at org.eclipse.jetty.http2.parser.DataBodyParser.onData(DataBodyParser.java:150)
        at org.eclipse.jetty.http2.parser.DataBodyParser.onData(DataBodyParser.java:145)
        at org.eclipse.jetty.http2.parser.DataBodyParser.parse(DataBodyParser.java:111)
        at org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:227)
        at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:156)
        at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:271)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:362)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:186)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
        at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:193)
        at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:148)
        at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:371)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
        at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 743 path $.directive.payload.renderingUpdates[0].resourceMetadata
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1817)
        at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1177)
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:964)
        at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:461)
        at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:449)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:271)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:559)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:517)
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:84)
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:64)
        at org.openhab.binding.amazonechocontrol.internal.util.NonNullListTypeAdapterFactory$DeserializeNonNullTypeAdapter.read(NonNullListTypeAdapterFactory.java:72)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:271)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:559)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:517)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:271)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:559)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:517)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:271)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:559)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:517)
        at com.google.gson.Gson.fromJson(Gson.java:1358)
        ... 37 more
2026-08-17 18:01:43.781 [WARN ] [trol.internal.push.PushStreamAdapter] - Don't know how to handle frame starting with :48000}},\\\"error\\\":false,\\\"errorMessage\\\":null,\\\"mediaReferenceId\\\":\\\"aca2df8c-c1b8-4a3a-904b-7f4842cefecb:1\\\">

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions