From a31c0571d3899401707833c050f119635f849a09 Mon Sep 17 00:00:00 2001 From: Jacqueline Wong Date: Wed, 2 Feb 2022 22:43:47 +0000 Subject: [PATCH] Add gxp coredumps to Android bug report - Add gxp dump files to dumpstate_board.bin of Android bug report: /data/vendor/ssrdump/coredump/coredump_gxp_platform* and /data/vendor/ssrdump/crashinfo_gxp_platform* Test: adb root; adb remount -R; adb bugreport Bug: 218358165 Signed-off-by: Jacqueline Wong Change-Id: Ib73659e94d86932b97756f13a19b7f093e23dc63 --- dumpstate/DumpstateDevice.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index 8f788f97..9be63e78 100644 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -1005,6 +1005,7 @@ void DumpstateDevice::dumpModem(int fd, int fdModem) bool tcpdumpEnabled = android::base::GetBoolProperty(TCPDUMP_PERSIST_PROPERTY, false); bool cameraLogsEnabled = android::base::GetBoolProperty( "vendor.camera.debug.camera_performance_analyzer.attach_to_bugreport", true); + bool gxpDumpEnabled = android::base::GetBoolProperty("vendor.gxp.attach_to_bugreport", false); int maxFileNum = android::base::GetIntProperty(MODEM_LOGGING_NUMBER_BUGREPORT_PROPERTY, 100); if (tcpdumpEnabled) { @@ -1048,6 +1049,18 @@ void DumpstateDevice::dumpModem(int fd, int fdModem) dumpCameraLogs(STDOUT_FILENO, modemLogAllDir); } + if (gxpDumpEnabled) { + const int maxGxpDebugDumps = 8; + const std::string gxpCoredumpOutputDir = modemLogAllDir + "/gxp_ssrdump"; + const std::string gxpCoredumpInputDir = "/data/vendor/ssrdump"; + + RunCommandToFd(fd, "MKDIR GXP COREDUMP", {"/vendor/bin/mkdir", "-p", gxpCoredumpOutputDir}, CommandOptions::WithTimeout(2).Build()); + + // Copy GXP coredumps and crashinfo to the output directory. + dumpLogs(fd, gxpCoredumpInputDir + "/coredump", gxpCoredumpOutputDir, maxGxpDebugDumps, "coredump_gxp_platform"); + dumpLogs(fd, gxpCoredumpInputDir, gxpCoredumpOutputDir, maxGxpDebugDumps, "crashinfo_gxp_platform"); + } + dumpLogs(fd, extendedLogDir, modemLogAllDir, maxFileNum, EXTENDED_LOG_PREFIX); dumpRilLogs(fd, modemLogAllDir); dumpNetmgrLogs(modemLogAllDir);