From 8a2ce3c7519d30daab37e0754d8f2b2f527af24e Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 19 Jun 2015 10:28:20 -0700 Subject: [PATCH] Debug logging for a certain class of binder transaction failures Bug 21801759 Change-Id: I9973d4ffb9450e510a4e1c64e2eae1489ce93054 --- core/java/android/app/ApplicationThreadNative.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java index 1461380071389..e178087444083 100644 --- a/core/java/android/app/ApplicationThreadNative.java +++ b/core/java/android/app/ApplicationThreadNative.java @@ -35,6 +35,9 @@ import android.os.RemoteException; import android.os.IBinder; import android.os.Parcel; import android.os.ParcelFileDescriptor; +import android.os.TransactionTooLargeException; +import android.util.Log; + import com.android.internal.app.IVoiceInteractor; import com.android.internal.content.ReferrerIntent; @@ -921,8 +924,13 @@ class ApplicationThreadProxy implements IApplicationThread { info.writeToParcel(data, 0); compatInfo.writeToParcel(data, 0); data.writeInt(processState); - mRemote.transact(SCHEDULE_CREATE_SERVICE_TRANSACTION, data, null, - IBinder.FLAG_ONEWAY); + try { + mRemote.transact(SCHEDULE_CREATE_SERVICE_TRANSACTION, data, null, + IBinder.FLAG_ONEWAY); + } catch (TransactionTooLargeException e) { + Log.e("CREATE_SERVICE", "Binder failure starting service; service=" + info); + throw e; + } data.recycle(); }