diff options
author | 2024-01-18 03:17:04 +0000 | |
---|---|---|
committer | 2024-01-18 03:17:04 +0000 | |
commit | 32bc0fa59b13e17d7c87101ab807cfa359c2a57d (patch) | |
tree | 37929474747dd63f3bacd91a6ead2ac1b59943df /cmds/dumpstate/dumpstate.cpp | |
parent | 0efc3f4349c4edcb7d2f55b0aea614ca486cdc46 (diff) | |
parent | 86e25122da271923fa8ceb4329608b4a470fcc6d (diff) |
Merge "dumpstate: Fix missing Java anr traces in bugreport" into main am: 86e25122da
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2907818
Change-Id: I22592e056415d16136a866c2b3fa89011cc94fdb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'cmds/dumpstate/dumpstate.cpp')
-rw-r--r-- | cmds/dumpstate/dumpstate.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp index 522442f4eb..326f927862 100644 --- a/cmds/dumpstate/dumpstate.cpp +++ b/cmds/dumpstate/dumpstate.cpp @@ -198,6 +198,7 @@ static const std::string TOMBSTONE_DIR = "/data/tombstones/"; static const std::string TOMBSTONE_FILE_PREFIX = "tombstone_"; static const std::string ANR_DIR = "/data/anr/"; static const std::string ANR_FILE_PREFIX = "anr_"; +static const std::string ANR_TRACE_FILE_PREFIX = "trace_"; static const std::string SHUTDOWN_CHECKPOINTS_DIR = "/data/system/shutdown-checkpoints/"; static const std::string SHUTDOWN_CHECKPOINTS_FILE_PREFIX = "checkpoints-"; @@ -1179,6 +1180,10 @@ static void AddAnrTraceDir(const std::string& anr_traces_dir) { } else { printf("*** NO ANRs to dump in %s\n\n", ANR_DIR.c_str()); } + + // Add Java anr traces (such as generated by the Finalizer Watchdog). + AddDumps(ds.anr_trace_data_.begin(), ds.anr_trace_data_.end(), "JAVA ANR TRACES", + true /* add_to_zip */); } static void AddAnrTraceFiles() { @@ -1905,6 +1910,7 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() { if (!PropertiesHelper::IsDryRun()) { ds.tombstone_data_ = GetDumpFds(TOMBSTONE_DIR, TOMBSTONE_FILE_PREFIX); ds.anr_data_ = GetDumpFds(ANR_DIR, ANR_FILE_PREFIX); + ds.anr_trace_data_ = GetDumpFds(ANR_DIR, ANR_TRACE_FILE_PREFIX); ds.shutdown_checkpoints_ = GetDumpFds( SHUTDOWN_CHECKPOINTS_DIR, SHUTDOWN_CHECKPOINTS_FILE_PREFIX); } @@ -3046,6 +3052,7 @@ void Dumpstate::Cancel() { } tombstone_data_.clear(); anr_data_.clear(); + anr_trace_data_.clear(); shutdown_checkpoints_.clear(); // Instead of shutdown the pool, we delete temporary files directly since @@ -3341,6 +3348,7 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, tombstone_data_.clear(); anr_data_.clear(); + anr_trace_data_.clear(); shutdown_checkpoints_.clear(); return (consent_callback_ != nullptr && |