Since August we are getting strange situations for some users that when Interstitial is displayed it mysteriously crashes app. And we can't see that crash in Crashlytics console. After few lengthly conversations with affected users we got to some logs from devices and I found this.
So the crash log looks like this.
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: Exception when starting activity com.our_package_name_replaced/com.google.android.gms.ads.AdActivity
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: android.os.TransactionTooLargeException: data parcel size 532044 bytes
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.os.BinderProxy.transactNative(Native Method)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.os.BinderProxy.transact(BinderProxy.java:575)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:2649)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:135)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1160)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:1303)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:3785)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:3154)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.RootActivityContainer.resumeFocusedStacksTopActivities(RootActivityContainer.java:1246)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.RootActivityContainer.resumeFocusedStacksTopActivities(RootActivityContainer.java:1233)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStack.completePauseLocked(ActivityStack.java:2320)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityStack.activityPausedLocked(ActivityStack.java:2239)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at com.android.server.wm.ActivityTaskManagerService.activityPaused(ActivityTaskManagerService.java:2481)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:2250)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.os.Binder.execTransactInternal(Binder.java:1056)
11-02 03:09:43.805 1000 979 3377 W ActivityTaskManager: at android.os.Binder.execTransact(Binder.java:1029)
For those users I made an option to report info about crashing interstitial, so I have few interstitialAd.getResponseInfo() logged, can share if that somehow helps.
Strangely situation is somehow not consistent, some users crash all the time when they receive interstitial ad, probably some sort of caching on local device, some report that problem disappears when application is reinstalled, but sometimes it's bad because users didn't backup to cloud, so they are afraid to lose data.
What can I investigate more in this situation. I can't replicate situation myself on my devices nor I can't ask users to proxy requests and etc, maybe I can log something more from request/response/interstitial?