Crash: com.google.gson.stream.MalformedJsonException: Unterminated string
-
I have searched for duplicates (including closed issues) -
I have read the wiki
Bug Summary
Steps to reproduce
Run the app and experience frequent crashes
Actual behaviour
Crashes every now and then
Expected behaviour
It should locate the phone accordingly and not crash. The issue started appearing in 0.8.0 after upgrading it from 0.7.1 (F-Droid version)
Metadata
-
FMD Android version: 0.9.0
-
FMD Server version: unrelated
-
Android version: 13
-
ROM name: OxygenOS
-
Clean install: yes
Logs
FATAL EXCEPTION: main
Process: de.nulide.findmydevice, PID: 11872
java.lang.RuntimeException: Unable to start receiver de.nulide.findmydevice.receiver.PushReceiver: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 16385 path $[140].msg
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4564)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2312)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8423)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 16385 path $[140].msg
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
at com.google.gson.Gson.fromJson(Gson.java:1375)
at com.google.gson.Gson.fromJson(Gson.java:1306)
at de.nulide.findmydevice.data.LogRepository.<init>(LogRepository.kt:54)
at de.nulide.findmydevice.data.LogRepository.<init>(Unknown Source:0)
at de.nulide.findmydevice.data.LogRepository$Companion$1.invoke(LogRepository.kt:33)
at de.nulide.findmydevice.data.LogRepository$Companion$1.invoke(LogRepository.kt:33)
at de.nulide.findmydevice.utils.SingletonHolder.getInstance(SingletonHolder.kt:35)
at de.nulide.findmydevice.utils.FmdLog.<init>(FmdLog.kt:21)
at de.nulide.findmydevice.utils.FmdLog.<init>(Unknown Source:0)
at de.nulide.findmydevice.utils.FmdLog$Companion$1.invoke(FmdLog.kt:19)
at de.nulide.findmydevice.utils.FmdLog$Companion$1.invoke(FmdLog.kt:19)
at de.nulide.findmydevice.utils.SingletonHolder.getInstance(SingletonHolder.kt:35)
at de.nulide.findmydevice.utils.FmdLogKt.log(FmdLog.kt:10)
at de.nulide.findmydevice.net.FMDServerApiRepository.registerPushEndpoint(FMDServerApiRepository.kt:329)
at de.nulide.findmydevice.receiver.PushReceiver.onNewEndpoint(PushReceiver.java:38)
at org.unifiedpush.android.connector.MessagingReceiver.onReceive(MessagingReceiver.kt:30)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4548)
... 9 more
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 16385 path $[140].msg
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1754)
at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1120)
at com.google.gson.stream.JsonReader.nextString(JsonReader.java:907)
at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:471)
at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:459)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.Gson.fromJson(Gson.java:1361)
... 25 more
Error reporting crash
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 16385 path $[140].msg
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
at com.google.gson.Gson.fromJson(Gson.java:1375)
at com.google.gson.Gson.fromJson(Gson.java:1306)
at de.nulide.findmydevice.data.LogRepository.<init>(LogRepository.kt:54)
at de.nulide.findmydevice.data.LogRepository.<init>(Unknown Source:0)
at de.nulide.findmydevice.data.LogRepository$Companion$1.invoke(LogRepository.kt:33)
at de.nulide.findmydevice.data.LogRepository$Companion$1.invoke(LogRepository.kt:33)
at de.nulide.findmydevice.utils.SingletonHolder.getInstance(SingletonHolder.kt:35)
at de.nulide.findmydevice.utils.FmdLog.<init>(FmdLog.kt:21)
at de.nulide.findmydevice.utils.FmdLog.<init>(Unknown Source:0)
at de.nulide.findmydevice.utils.FmdLog$Companion$1.invoke(FmdLog.kt:19)
at de.nulide.findmydevice.utils.FmdLog$Companion$1.invoke(FmdLog.kt:19)
at de.nulide.findmydevice.utils.SingletonHolder.getInstance(SingletonHolder.kt:35)
at de.nulide.findmydevice.utils.FmdLogKt.log(FmdLog.kt:10)
at de.nulide.findmydevice.data.UncaughtExceptionHandler.uncaughtException(UncaughtExceptionHandler.kt:26)
at com.android.internal.os.RuntimeInitExtImpl.uncaughtExceptionExt(RuntimeInitExtImpl.java:44)
at com.android.internal.os.RuntimeInit$LoggingHandler.uncaughtException(RuntimeInit.java:140)
at java.lang.Thread.dispatchUncaughtException(Thread.java:2300)
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 16385 path $[140].msg
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1754)
at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1120)
at com.google.gson.stream.JsonReader.nextString(JsonReader.java:907)
at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:471)
at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:459)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.Gson.fromJson(Gson.java:1361)
... 16 more