fdtrack: emit the most common stack in the abort message.

Test: manual
Change-Id: Iaf20fcec3c2a3e673aca88bdd8bb48d31c5a5228
This commit is contained in:
Josh Gao
2021-03-11 16:31:11 -08:00
committed by Josh Gao
parent c77293b7a9
commit 606e0d1256

View File

@@ -100,16 +100,9 @@ static void android_server_SystemServer_initZygoteChildHeapProfiling(JNIEnv* /*
}
static void android_server_SystemServer_fdtrackAbort(JNIEnv*, jobject) {
raise(BIONIC_SIGNAL_FDTRACK);
// Wait for a bit to allow fdtrack to dump backtraces to logcat.
std::this_thread::sleep_for(5s);
// Abort on a different thread to avoid ART dumping runtime stacks.
std::thread([]() {
LOG_ALWAYS_FATAL("b/140703823: aborting due to fd leak: check logs for fd "
"backtraces");
}).join();
sigval val;
val.sival_int = 1;
sigqueue(getpid(), BIONIC_SIGNAL_FDTRACK, val);
}
static jlong android_server_SystemServer_startIncrementalService(JNIEnv* env, jclass klass,