diff options
| author | 2024-05-31 19:17:24 +0000 | |
|---|---|---|
| committer | 2024-05-31 19:17:24 +0000 | |
| commit | b149247fbd15664d88a6ddf1e3f48096a3f244cc (patch) | |
| tree | 703c0e57cb6f057973181d35dc240d4a71179f77 | |
| parent | b4753252793306484207d55d51deb333434537f9 (diff) | |
| parent | ab44c6c149040ee4f986ac63fd11ffcb3ee69176 (diff) | |
Merge "Revert "dump sender stack for failed binder txn"" into main
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 5 | ||||
| -rw-r--r-- | core/jni/android_util_Binder.cpp | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/CachedAppOptimizer.java | 6 | ||||
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 11 |
4 files changed, 7 insertions, 21 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 7dbf270672f8..76c1ed619510 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -355,7 +355,7 @@ public final class ActivityThread extends ClientTransactionHandler private static final String DEFAULT_FULL_BACKUP_AGENT = "android.app.backup.FullBackupAgent"; - private static final long BINDER_CALLBACK_THROTTLE_MS = 10_100L; + private static final long BINDER_CALLBACK_THROTTLE = 10_100L; private long mBinderCallbackLast = -1; /** @@ -7551,13 +7551,12 @@ public final class ActivityThread extends ClientTransactionHandler @Override public void onTransactionError(int pid, int code, int flags, int err) { final long now = SystemClock.uptimeMillis(); - if (now < mBinderCallbackLast + BINDER_CALLBACK_THROTTLE_MS) { + if (now < mBinderCallbackLast + BINDER_CALLBACK_THROTTLE) { Slog.d(TAG, "Too many transaction errors, throttling freezer binder callback."); return; } mBinderCallbackLast = now; try { - Log.wtfStack(TAG, "Binder Transaction Error"); mgr.frozenBinderTransactionDetected(pid, code, flags, err); } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp index 3006e204a9db..2068bd7bc8ea 100644 --- a/core/jni/android_util_Binder.cpp +++ b/core/jni/android_util_Binder.cpp @@ -1411,10 +1411,8 @@ static jboolean android_os_BinderProxy_transact(JNIEnv* env, jobject obj, return JNI_TRUE; } - if (err == FAILED_TRANSACTION) { - env->CallStaticVoidMethod(gBinderOffsets.mClass, gBinderOffsets.mTransactionCallback, - getpid(), code, flags, err); - } + env->CallStaticVoidMethod(gBinderOffsets.mClass, gBinderOffsets.mTransactionCallback, getpid(), + code, flags, err); if (err == UNKNOWN_TRANSACTION) { return JNI_FALSE; diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index db4840dc76c5..211f952551d9 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -83,8 +83,6 @@ import com.android.internal.os.ProcLocksReader; import com.android.internal.util.FrameworkStatsLog; import com.android.server.ServiceThread; -import dalvik.annotation.optimization.NeverCompile; - import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; @@ -100,6 +98,8 @@ import java.util.Map; import java.util.Random; import java.util.Set; +import dalvik.annotation.optimization.NeverCompile; + public final class CachedAppOptimizer { // Flags stored in the DeviceConfig API. @@ -2633,7 +2633,7 @@ public final class CachedAppOptimizer { public void binderError(int debugPid, ProcessRecord app, int code, int flags, int err) { Slog.w(TAG_AM, "pid " + debugPid + " " + (app == null ? "null" : app.processName) + " sent binder code " + code + " with flags " + flags - + " and got error " + err); + + " to frozen apps and got error " + err); // Do nothing if the binder error callback is not enabled. // That means the frozen apps in a wrong state will be killed when they are unfrozen later. diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 927df8bb23e7..cfe4e17eb1be 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -761,9 +761,6 @@ public final class SystemServer implements Dumpable { } } - private static final long BINDER_CALLBACK_THROTTLE_MS = 10_100L; - private long mBinderCallbackLast = -1; - private void run() { TimingsTraceAndSlog t = new TimingsTraceAndSlog(); try { @@ -968,14 +965,6 @@ public final class SystemServer implements Dumpable { Binder.setTransactionCallback(new IBinderCallback() { @Override public void onTransactionError(int pid, int code, int flags, int err) { - - final long now = SystemClock.uptimeMillis(); - if (now < mBinderCallbackLast + BINDER_CALLBACK_THROTTLE_MS) { - Slog.d(TAG, "Too many transaction errors, throttling freezer binder callback."); - return; - } - mBinderCallbackLast = now; - Slog.wtfStack(TAG, "Binder Transaction Error"); mActivityManagerService.frozenBinderTransactionDetected(pid, code, flags, err); } }); |