From aa265b633b992a701e954fe39c780a90d377a42d Mon Sep 17 00:00:00 2001 From: Steve Fung Date: Sun, 11 Oct 2015 04:59:14 -0700 Subject: [PATCH] crash_reporter: Report the bdk_version Add the bdk_version to the crash report. Bug: 24579018 Change-Id: I00ad1079ee3aacc5d0456f80d83f42c4d28045df --- crash_reporter/crash_sender | 7 ++++--- crash_reporter/user_collector.cc | 12 ++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/crash_reporter/crash_sender b/crash_reporter/crash_sender index 8a422ddc4..e38d410bb 100755 --- a/crash_reporter/crash_sender +++ b/crash_reporter/crash_sender @@ -292,7 +292,7 @@ send_crash() { local kind="$(get_kind "${meta_path}")" local exec_name="$(get_key_value "${meta_path}" "exec_name")" local url="$(getprop crash_reporter.server)" - local brillo_version="$(get_key_value "${meta_path}" "ver")" + local bdk_version="$(get_key_value "${meta_path}" "bdk_version")" local hwclass="$(get_hardware_class)" local write_payload_size="$(get_key_value "${meta_path}" "payload_size")" local log="$(get_key_value "${meta_path}" "log")" @@ -370,12 +370,12 @@ send_crash() { fi # If ID or VERSION_ID is undefined, we use the default product name - # and CHROMEOS_RELEASE_VERSION from /etc/lsb-release. + # and bdk_version from /etc/os-release.d. if [ "${product}" = "undefined" ]; then product="${BRILLO_PRODUCT}" fi if [ "${version}" = "undefined" ]; then - version="${brillo_version}" + version="${bdk_version}" fi local image_type @@ -460,6 +460,7 @@ send_crash() { --capath "${RESTRICTED_CERTIFICATES_PATH}" --ciphers HIGH \ -F "prod=${product}" \ -F "ver=${version}" \ + -F "bdk_version=${bdk_version}" \ -F "hwclass=${hwclass}" \ -F "exec_name=${exec_name}" \ -F "model_manifest_id=${model_manifest_id}" \ diff --git a/crash_reporter/user_collector.cc b/crash_reporter/user_collector.cc index c4f02af6b..c2e0732c5 100644 --- a/crash_reporter/user_collector.cc +++ b/crash_reporter/user_collector.cc @@ -37,6 +37,7 @@ #include #include #include +#include "chromeos/osrelease_reader.h" #include #include #include @@ -64,6 +65,8 @@ const char kVersionProperty[] = "ro.build.id"; // The property containing the product id. const char kProductIDProperty[] = "ro.product.product_id"; +static const char kBdkVersionKey[] = "bdk_version"; + using base::FilePath; using base::StringPrintf; @@ -511,6 +514,15 @@ UserCollector::ErrorType UserCollector::ConvertAndEnqueueCrash( property_get(kProductIDProperty, value, "undefined"); AddCrashMetaUploadData("prod", value); + chromeos::OsReleaseReader reader; + reader.Load(); + std::string bdk_version = "undefined"; + if (!reader.GetString(kBdkVersionKey, &bdk_version)) { + LOG(ERROR) << "Could not read " << kBdkVersionKey + << " from /etc/os-release.d/"; + } + AddCrashMetaData(kBdkVersionKey, bdk_version); + ErrorType error_type = ConvertCoreToMinidump(pid, container_dir, core_path, minidump_path); if (error_type != kErrorNone) {