Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 606e0d12 authored by Josh Gao's avatar Josh Gao Committed by Josh Gao
Browse files

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

Test: manual
Change-Id: Iaf20fcec3c2a3e673aca88bdd8bb48d31c5a5228
parent c77293b7
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -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,