diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp index abcd1e7049efb..1aed501335c41 100644 --- a/core/jni/android_util_Binder.cpp +++ b/core/jni/android_util_Binder.cpp @@ -192,18 +192,12 @@ static void report_exception(JNIEnv* env, jthrowable excep, const char* msg) if (env->IsInstanceOf(excep, gErrorOffsets.mClass)) { /* - * It's an Error: Reraise the exception, detach this thread, and - * wait for the fireworks. Die even more blatantly after a minute - * if the gentler attempt doesn't do the trick. - * - * The GetJavaVM function isn't on the "approved" list of JNI calls - * that can be made while an exception is pending, so we want to - * get the VM ptr, throw the exception, and then detach the thread. + * It's an Error: Reraise the exception and ask the runtime to abort. + * This will dump the pending exception as well as all thread traces + * to the log. */ env->Throw(excep); - env->ExceptionDescribe(); - ALOGE("Forcefully exiting"); - exit(1); + env->FatalError("java.lang.Error thrown during binder transaction."); } bail: