0

I had transaction too large error in my app. It is a huge app so I am not able to locate the error. I know the solution already but the problem is to find where this error occurs in the code. Is there any way to define the exact location of the error?

Fatal Exception: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 535492 bytes
       at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4167)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6692)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Caused by android.os.TransactionTooLargeException: data parcel size 535492 bytes
       at android.os.BinderProxy.transactNative(Binder.java)
       at android.os.BinderProxy.transact(Binder.java:628)
       at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:4132)
       at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4159)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6692)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
DiRiNoiD
  • 1,281
  • 2
  • 18
  • 24
  • when does it happen? – pskink Aug 21 '17 at 05:58
  • when does it happen is exactly what I am looking for. I am not able to find when/where does it happen that's what I'm asking. – DiRiNoiD Aug 21 '17 at 06:04
  • i asked "when", not "where" - "when" describes the time - for example: "i happens **when** i press the button and try to start new activity", so my question is: "when does it happen?" – pskink Aug 21 '17 at 06:07
  • It doesn't matter, I'm getting error from production, I have no idea when it does happen. I couldn't create the error myself. – DiRiNoiD Aug 21 '17 at 06:09
  • `"I know the solution already but the problem is to find where this error occurs in the code. Is there any way to define the exact location of the error?"`, yes, it is android/app/ActivityManagerNative.java, line 4132 – pskink Aug 21 '17 at 06:20
  • Ok it happens in android native lib, but is there any way to define when this triggered? It is a huge project so it can be triggered in any activity, i need to find a clue for when this happening? – DiRiNoiD Aug 21 '17 at 06:41
  • `android.os.TransactionTooLargeException` docs say: *"The Binder transaction buffer has a limited fixed size, currently 1Mb, which is shared by all transactions in progress for the process. Consequently this exception can be thrown when there are many transactions in progress even when most of the individual transactions are of moderate size."*, so the only way is to check what you are passing in the `Binder` transactions (most likely in the `Intent`s extras) – pskink Aug 21 '17 at 07:12
  • This answer may be help https://stackoverflow.com/a/39747117/4824088 – Mohamed Mohaideen AH Aug 21 '17 at 07:17

0 Answers0