Skip to main content
Answered

Intermittent Android SDK crashing when Intercom is experiencing downtime.

  • July 5, 2022
  • 1 reply
  • 99 views

The Intercom servers went down on June 6 causing multiple crashes of our app. The advice from Intercom at the time was to upgrade to 12.4.1, which we did and this solved the issue until today, when the server went down again (as per intercomstatus.com) and our app had multiple crashes. 

 

The crashes being caused when the intercom log event is triggered in our app. Intercom.client().logEvent

Please advise on the solution. 

 

Our crashlytics shows the following crash data :

ErrorStringExtractor.kt line 8

io.intercom.android.sdk.api.ErrorStringExtractorKt.extractErrorString 

Fatal Exception: com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive

       at com.google.gson.internal.bind.TypeAdapters$33$1.read(TypeAdapters.java:869)

       at com.google.gson.Gson.fromJson(Gson.java:963)

       at com.google.gson.Gson.fromJson(Gson.java:928)

       at com.google.gson.Gson.fromJson(Gson.java:877)

       at com.google.gson.Gson.fromJson(Gson.java:848)

       at io.intercom.android.sdk.api.ErrorStringExtractorKt.extractErrorString(ErrorStringExtractor.kt:8)

       at io.intercom.android.sdk.api.Api$1.onError(Api.java:225)

       at io.intercom.android.sdk.api.BaseCallback.handleError(BaseCallback.java:43)

       at io.intercom.android.sdk.api.BaseCallback.onResponse(BaseCallback.java:28)

       at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0(DefaultCallAdapterFactory.java:89)

       at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.$r8$lambda$hVGjmafRi6VitDIrPNdoFizVAdk(DefaultCallAdapterFactory.java)

       at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$$InternalSyntheticLambda$0$daf5173ad73a9dc0e8131143f299c222e2ca4cddd7cb10b2d0a6e331a0602ae1$0.run(DefaultCallAdapterFactory.java:6)

       at android.os.Handler.handleCallback(Handler.java:938)

       at android.os.Handler.dispatchMessage(Handler.java:99)

       at android.os.Looper.loop(Looper.java:264)

       at android.app.ActivityThread.main(ActivityThread.java:8312)

       at java.lang.reflect.Method.invoke(Method.java)

       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)

       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

 

Best answer by Evan P

Hey @mike c​, 👋 thanks for reaching out! I'm one of the Support Engineers here @ Intercom! 👍

 

Thanks for sharing these details, it is really helpful. The root cause here was our Android SDK not gracefully handling a specific kind of failure for an Intercom API call, resulting in a crash.

 

While you were encouraged to upgrade to version "12.4.1", I will ask if it's possible for you to upgrade to the latest version "12.4.2". I can confirm the latest version of the Android SDK (12.4.2) has been made robust against these failures.

 

I hope this clarifies, please let me know if you have any questions.

View original
Did this topic help you find an answer to your question?

1 reply

  • Active User
  • 32 replies
  • Answer
  • July 7, 2022

Hey @mike c​, 👋 thanks for reaching out! I'm one of the Support Engineers here @ Intercom! 👍

 

Thanks for sharing these details, it is really helpful. The root cause here was our Android SDK not gracefully handling a specific kind of failure for an Intercom API call, resulting in a crash.

 

While you were encouraged to upgrade to version "12.4.1", I will ask if it's possible for you to upgrade to the latest version "12.4.2". I can confirm the latest version of the Android SDK (12.4.2) has been made robust against these failures.

 

I hope this clarifies, please let me know if you have any questions.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings