Loading crash_reporter/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ LOCAL_MODULE := crash_reporter_tests LOCAL_CPP_EXTENSION := $(crash_reporter_cpp_extension) LOCAL_SHARED_LIBRARIES := libchrome \ libchromeos \ libcutils \ libdbus \ libpcrecpp LOCAL_SRC_FILES := $(crash_reporter_test_src) Loading crash_reporter/crash_collector.cc +0 −16 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ const char kSystemCrashPath[] = "/data/misc/crash_reporter/crash"; const char kUploadVarPrefix[] = "upload_var_"; const char kUploadFilePrefix[] = "upload_file_"; // Key of the lsb-release entry containing the OS version. const char kLsbVersionKey[] = "CHROMEOS_RELEASE_VERSION"; // Normally this path is not used. Unfortunately, there are a few edge cases // where we need this. Any process that runs as kDefaultUserName that crashes // is consider a "user crash". That includes the initial Chrome browser that Loading Loading @@ -387,27 +384,14 @@ void CrashCollector::AddCrashMetaUploadData(const std::string &key, void CrashCollector::WriteCrashMetaData(const FilePath &meta_path, const std::string &exec_name, const std::string &payload_path) { chromeos::KeyValueStore store; if (!store.Load(FilePath(lsb_release_))) { LOG(ERROR) << "Problem parsing " << lsb_release_; // Even though there was some failure, take as much as we could read. } std::string version("unknown"); if (!store.GetString(kLsbVersionKey, &version)) { LOG(ERROR) << "Unable to read " << kLsbVersionKey << " from " << lsb_release_; } int64_t payload_size = -1; base::GetFileSize(FilePath(payload_path), &payload_size); std::string meta_data = StringPrintf("%sexec_name=%s\n" "ver=%s\n" "payload=%s\n" "payload_size=%" PRId64 "\n" "done=1\n", extra_metadata_.c_str(), exec_name.c_str(), version.c_str(), payload_path.c_str(), payload_size); // We must use WriteNewFile instead of base::WriteFile as we Loading crash_reporter/user_collector.cc +13 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,13 @@ static const uid_t kUnknownUid = -1; const char *UserCollector::kUserId = "Uid:\t"; const char *UserCollector::kGroupId = "Gid:\t"; // The property containing the OS version. const char kVersionProperty[] = "ro.build.id"; // The property containing the product id. const char kProductIDProperty[] = "ro.product.product_id"; using base::FilePath; using base::StringPrintf; Loading Loading @@ -455,6 +462,12 @@ UserCollector::ErrorType UserCollector::ConvertAndEnqueueCrash( if (GetLogContents(FilePath(log_config_path_), exec, log_path)) AddCrashMetaData("log", log_path.value()); char value[PROPERTY_VALUE_MAX]; property_get(kVersionProperty, value, "undefined"); AddCrashMetaUploadData("ver", value); property_get(kProductIDProperty, value, "undefined"); AddCrashMetaUploadData("prod", value); ErrorType error_type = ConvertCoreToMinidump(pid, container_dir, core_path, minidump_path); if (error_type != kErrorNone) { Loading Loading
crash_reporter/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ LOCAL_MODULE := crash_reporter_tests LOCAL_CPP_EXTENSION := $(crash_reporter_cpp_extension) LOCAL_SHARED_LIBRARIES := libchrome \ libchromeos \ libcutils \ libdbus \ libpcrecpp LOCAL_SRC_FILES := $(crash_reporter_test_src) Loading
crash_reporter/crash_collector.cc +0 −16 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ const char kSystemCrashPath[] = "/data/misc/crash_reporter/crash"; const char kUploadVarPrefix[] = "upload_var_"; const char kUploadFilePrefix[] = "upload_file_"; // Key of the lsb-release entry containing the OS version. const char kLsbVersionKey[] = "CHROMEOS_RELEASE_VERSION"; // Normally this path is not used. Unfortunately, there are a few edge cases // where we need this. Any process that runs as kDefaultUserName that crashes // is consider a "user crash". That includes the initial Chrome browser that Loading Loading @@ -387,27 +384,14 @@ void CrashCollector::AddCrashMetaUploadData(const std::string &key, void CrashCollector::WriteCrashMetaData(const FilePath &meta_path, const std::string &exec_name, const std::string &payload_path) { chromeos::KeyValueStore store; if (!store.Load(FilePath(lsb_release_))) { LOG(ERROR) << "Problem parsing " << lsb_release_; // Even though there was some failure, take as much as we could read. } std::string version("unknown"); if (!store.GetString(kLsbVersionKey, &version)) { LOG(ERROR) << "Unable to read " << kLsbVersionKey << " from " << lsb_release_; } int64_t payload_size = -1; base::GetFileSize(FilePath(payload_path), &payload_size); std::string meta_data = StringPrintf("%sexec_name=%s\n" "ver=%s\n" "payload=%s\n" "payload_size=%" PRId64 "\n" "done=1\n", extra_metadata_.c_str(), exec_name.c_str(), version.c_str(), payload_path.c_str(), payload_size); // We must use WriteNewFile instead of base::WriteFile as we Loading
crash_reporter/user_collector.cc +13 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,13 @@ static const uid_t kUnknownUid = -1; const char *UserCollector::kUserId = "Uid:\t"; const char *UserCollector::kGroupId = "Gid:\t"; // The property containing the OS version. const char kVersionProperty[] = "ro.build.id"; // The property containing the product id. const char kProductIDProperty[] = "ro.product.product_id"; using base::FilePath; using base::StringPrintf; Loading Loading @@ -455,6 +462,12 @@ UserCollector::ErrorType UserCollector::ConvertAndEnqueueCrash( if (GetLogContents(FilePath(log_config_path_), exec, log_path)) AddCrashMetaData("log", log_path.value()); char value[PROPERTY_VALUE_MAX]; property_get(kVersionProperty, value, "undefined"); AddCrashMetaUploadData("ver", value); property_get(kProductIDProperty, value, "undefined"); AddCrashMetaUploadData("prod", value); ErrorType error_type = ConvertCoreToMinidump(pid, container_dir, core_path, minidump_path); if (error_type != kErrorNone) { Loading