Amazon Echo Control - Repeated Warnings - Illegal json

Recently, my log started filling with illegal json warnings from the Amazon Echo Control binding. I’ve been using this binding for what seems like years now, and never got these warnings. Is this something on my end or something else? I can’t think of anything that I changed recently.

version: 2.5.7

2020-09-23 07:20:17.788 [WARN ] [mazonechocontrol.internal.Connection] - Illegal json: {"playlists":{"Favorites":[{"entryList":null,"playlistId":"ce3651cd-3636-4d5b-97f5-b1f7ec628f06","title":"Favorites","trackCount":4,"version":"5"}],"My Likes":[{"entryList":null,"playlistId":"0a13c89e4abc4896afe0f9e6f5050433","title":"My Likes","trackCount":0,"version":"1:628857103"}]}}
2020-09-23 07:20:18.280 [WARN ] [mazonechocontrol.internal.Connection] - Parsing json failed
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "1:628857103"
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:227) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:217) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
	at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[?:?]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:888) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:853) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:802) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:774) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.Connection.parseJson(Connection.java:892) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.Connection.getPlaylists(Connection.java:1058) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.refreshData(AccountHandler.java:542) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.checkData(AccountHandler.java:448) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_191]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: java.lang.NumberFormatException: For input string: "1:628857103"
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) ~[?:1.8.0_191]
	at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) ~[?:1.8.0_191]
	at java.lang.Double.parseDouble(Double.java:538) ~[?:1.8.0_191]
	at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1201) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:225) ~[?:?]
	... 25 more
2020-09-23 07:20:18.283 [WARN ] [mazonechocontrol.internal.Connection] - Illegal json: {"playlists":{"Favorites":[{"entryList":null,"playlistId":"ce3651cd-3636-4d5b-97f5-b1f7ec628f06","title":"Favorites","trackCount":4,"version":"5"}],"My Likes":[{"entryList":null,"playlistId":"0a13c89e4abc4896afe0f9e6f5050433","title":"My Likes","trackCount":0,"version":"1:628857103"}]}}
2020-09-23 07:20:18.641 [WARN ] [mazonechocontrol.internal.Connection] - Parsing json failed
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "1:628857103"
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:227) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:217) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
	at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[?:?]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:888) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:853) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:802) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:774) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.Connection.parseJson(Connection.java:892) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.Connection.getPlaylists(Connection.java:1058) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.refreshData(AccountHandler.java:542) ~[?:?]
	at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.checkData(AccountHandler.java:448) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_191]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: java.lang.NumberFormatException: For input string: "1:628857103"
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) ~[?:1.8.0_191]
	at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) ~[?:1.8.0_191]
	at java.lang.Double.parseDouble(Double.java:538) ~[?:1.8.0_191]
	at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1201) ~[?:?]
	at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:225) ~[?:?]
	... 25 more

I just checked that JSON in the first line. It IS valid JSON. There may be an issue in the parser used by the binding.

I checked at https://jsonlint.com/

This most likely about those null values, which are legitimate JSON but tricky to handle in code as distinguishable from some kind of exception.

1 Like

As far as I remember there is a reply in an other thread mentioning that the version is expected to be in an other format.

I have the same problem but as far as I can see the most surprising issue about it seems to be that these errors occor even though those routines were never called. I did not try to open a playlist. I did not even try to use the amazon echo control binding. It just again floods the logs with errors even though it is currently not used and makes OpenHAB as a total not properly work again.

This seems to be very similar to the behaviour we have seen with that binding a couple of months ago.

Do others also see that kind of problem?

Was this ever resolved? I am getting the same error

Me too.

Yes. There is a version 10 snapshot JAR on one of the posts that fixes the issue.