From a4f148b7a5003e2e6e76a92d8a5f65c8f7137b04 Mon Sep 17 00:00:00 2001 From: Zaid Elkurdi Date: Wed, 25 Jan 2023 15:56:36 -0800 Subject: [PATCH] Add support for reading annotation objects in Crashpad modules At the moment, the Minidump class only supports reading simple and list annotations from Crashpad minidumps. This change adds support for reading annotation objects stored in Crashpad modules (MDRawModuleCrashpadInfo) and exposes them via a new getter in MinidumpCrashpadInfo. Change-Id: I033fc4a4fdff5901babc2472e0150f79af56b830 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/4195756 Reviewed-by: Joshua Peraza --- src/google_breakpad/common/minidump_format.h | 13 +++ src/google_breakpad/processor/minidump.h | 18 ++++ src/processor/minidump.cc | 87 ++++++++++++++++++ src/processor/minidump_unittest.cc | 37 ++++++++ .../testdata/minidump_crashpad_annotation.dmp | Bin 0 -> 332000 bytes 5 files changed, 155 insertions(+) create mode 100644 src/processor/testdata/minidump_crashpad_annotation.dmp diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h index 42bfca94..1526afce 100644 --- a/src/google_breakpad/common/minidump_format.h +++ b/src/google_breakpad/common/minidump_format.h @@ -1096,10 +1096,23 @@ typedef struct { MDRawSimpleStringDictionaryEntry entries[0]; } MDRawSimpleStringDictionary; +typedef struct { + MDRVA name; + uint16_t type; + uint16_t reserved; + MDRVA value; +} MDRawCrashpadAnnotation; + +typedef struct { + uint32_t count; + MDLocationDescriptor objects[0]; /* MDRawCrashpadAnnotation */ +} MDRawCrashpadAnnotationList; + typedef struct { uint32_t version; MDLocationDescriptor list_annotations; MDLocationDescriptor simple_annotations; /* MDRawSimpleStringDictionary */ + MDLocationDescriptor annotation_objects; /* MDRawCrashpadAnnotationList */ } MDRawModuleCrashpadInfo; typedef struct { diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h index 54d28817..934a0e3e 100644 --- a/src/google_breakpad/processor/minidump.h +++ b/src/google_breakpad/processor/minidump.h @@ -1189,10 +1189,21 @@ class MinidumpLinuxMapsList : public MinidumpStream { // at the time the minidump was generated. class MinidumpCrashpadInfo : public MinidumpStream { public: + struct AnnotationObject { + uint16_t type; + std::string name; + std::vector value; + }; + const MDRawCrashpadInfo* crashpad_info() const { return valid_ ? &crashpad_info_ : NULL; } + const std::vector>* + GetModuleCrashpadInfoAnnotationObjects() const { + return valid_ ? &module_crashpad_info_annotation_objects_ : NULL; + } + // Print a human-readable representation of the object to stdout. void Print(); @@ -1211,6 +1222,9 @@ class MinidumpCrashpadInfo : public MinidumpStream { std::vector> module_crashpad_info_list_annotations_; std::vector> module_crashpad_info_simple_annotations_; + std::vector> + module_crashpad_info_annotation_objects_; + std::map simple_annotations_; }; @@ -1320,6 +1334,10 @@ class Minidump { off_t offset, std::map* simple_string_dictionary); + bool ReadCrashpadAnnotationsList( + off_t offset, + std::vector* annotations_list); + // SeekToStreamType positions the file at the beginning of a stream // identified by stream_type, and informs the caller of the stream's // length by setting *stream_length. Because stream_map maps each stream diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc index bfac6cb1..135770d5 100644 --- a/src/processor/minidump.cc +++ b/src/processor/minidump.cc @@ -216,6 +216,12 @@ inline void Swap(MDRawSimpleStringDictionaryEntry* entry) { Swap(&entry->value); } +inline void Swap(MDRawCrashpadAnnotation* annotation) { + Swap(&annotation->name); + Swap(&annotation->type); + Swap(&annotation->value); +} + inline void Swap(uint16_t* data, size_t size_in_bytes) { size_t data_length = size_in_bytes / sizeof(data[0]); for (size_t i = 0; i < data_length; i++) { @@ -5261,6 +5267,7 @@ MinidumpCrashpadInfo::MinidumpCrashpadInfo(Minidump* minidump) module_crashpad_info_(), module_crashpad_info_list_annotations_(), module_crashpad_info_simple_annotations_(), + module_crashpad_info_annotation_objects_(), simple_annotations_() { } @@ -5386,6 +5393,7 @@ bool MinidumpCrashpadInfo::Read(uint32_t expected_size) { Swap(&module_crashpad_info.version); Swap(&module_crashpad_info.list_annotations); Swap(&module_crashpad_info.simple_annotations); + Swap(&module_crashpad_info.annotation_objects); } std::vector list_annotations; @@ -5410,11 +5418,23 @@ bool MinidumpCrashpadInfo::Read(uint32_t expected_size) { } } + std::vector annotation_objects; + if (module_crashpad_info.annotation_objects.data_size) { + if (!minidump_->ReadCrashpadAnnotationsList( + module_crashpad_info.annotation_objects.rva, + &annotation_objects)) { + BPLOG(ERROR) + << "MinidumpCrashpadInfo cannot read Crashpad annotations list"; + return false; + } + } + module_crashpad_info_links_.push_back( module_crashpad_info_links[index].minidump_module_list_index); module_crashpad_info_.push_back(module_crashpad_info); module_crashpad_info_list_annotations_.push_back(list_annotations); module_crashpad_info_simple_annotations_.push_back(simple_annotations); + module_crashpad_info_annotation_objects_.push_back(annotation_objects); } } @@ -6265,6 +6285,73 @@ bool Minidump::ReadSimpleStringDictionary( return true; } +bool Minidump::ReadCrashpadAnnotationsList( + off_t offset, + std::vector* annotations_list) { + annotations_list->clear(); + + if (!SeekSet(offset)) { + BPLOG(ERROR) << "Minidump cannot seek to annotations_list"; + return false; + } + + uint32_t count; + if (!ReadBytes(&count, sizeof(count))) { + BPLOG(ERROR) << "Minidump cannot read annotations_list count"; + return false; + } + + if (swap_) { + Swap(&count); + } + + scoped_array objects( + new MDRawCrashpadAnnotation[count]); + + // Read the entire array in one fell swoop, instead of reading one entry + // at a time in the loop. + if (!ReadBytes(&objects[0], sizeof(MDRawCrashpadAnnotation) * count)) { + BPLOG(ERROR) << "Minidump could not read annotations_list"; + return false; + } + + for (uint32_t index = 0; index < count; ++index) { + MDRawCrashpadAnnotation annotation = objects[index]; + + if (swap_) { + Swap(&annotation); + } + + string name; + if (!ReadUTF8String(annotation.name, &name)) { + BPLOG(ERROR) << "Minidump could not read annotation name"; + return false; + } + + if (!SeekSet(annotation.value)) { + BPLOG(ERROR) << "Minidump cannot seek to annotations value"; + return false; + } + + uint32_t value_length; + if (!ReadBytes(&value_length, sizeof(value_length))) { + BPLOG(ERROR) << "Minidump could not read annotation value length"; + return false; + } + + std::vector value_data(value_length); + if (!ReadBytes(value_data.data(), value_length)) { + BPLOG(ERROR) << "Minidump could not read annotation value"; + return false; + } + + MinidumpCrashpadInfo::AnnotationObject object = {annotation.type, name, + value_data}; + annotations_list->push_back(object); + } + + return true; +} bool Minidump::SeekToStreamType(uint32_t stream_type, uint32_t* stream_length) { diff --git a/src/processor/minidump_unittest.cc b/src/processor/minidump_unittest.cc index 9936a7e4..53d44ae1 100644 --- a/src/processor/minidump_unittest.cc +++ b/src/processor/minidump_unittest.cc @@ -47,6 +47,7 @@ namespace { using google_breakpad::Minidump; using google_breakpad::MinidumpContext; +using google_breakpad::MinidumpCrashpadInfo; using google_breakpad::MinidumpException; using google_breakpad::MinidumpMemoryInfo; using google_breakpad::MinidumpMemoryInfoList; @@ -130,6 +131,42 @@ TEST_F(MinidumpTest, TestMinidumpFromStream) { //TODO: add more checks here } +TEST_F(MinidumpTest, TestMinidumpWithCrashpadAnnotations) { + string crashpad_minidump_file = + string(getenv("srcdir") ? getenv("srcdir") : ".") + + "/src/processor/testdata/minidump_crashpad_annotation.dmp"; + + Minidump minidump(crashpad_minidump_file); + ASSERT_EQ(minidump.path(), crashpad_minidump_file); + ASSERT_TRUE(minidump.Read()); + + MinidumpCrashpadInfo* crashpad_info = minidump.GetCrashpadInfo(); + ASSERT_TRUE(crashpad_info != NULL); + + const std::vector>* + annotation_objects_list = + crashpad_info->GetModuleCrashpadInfoAnnotationObjects(); + ASSERT_EQ(2U, annotation_objects_list->size()); + + std::vector annotation_objects = + annotation_objects_list->at(0); + ASSERT_EQ(5U, annotation_objects.size()); + + std::vector annotation_names; + for (size_t i = 0; i < annotation_objects.size(); i++) { + MinidumpCrashpadInfo::AnnotationObject annotation_object = + annotation_objects.at(i); + annotation_names.push_back(annotation_object.name); + ASSERT_TRUE(annotation_object.type > 0); + ASSERT_TRUE(annotation_object.value.size() > 0); + } + + std::vector expected_strings{ + "exceptionReason", "exceptionName", "firstexception_bt", "firstexception", + "CounterAnnotation"}; + ASSERT_EQ(annotation_names, expected_strings); +} + TEST(Dump, ReadBackEmpty) { Dump dump(0); dump.Finish(); diff --git a/src/processor/testdata/minidump_crashpad_annotation.dmp b/src/processor/testdata/minidump_crashpad_annotation.dmp new file mode 100644 index 0000000000000000000000000000000000000000..00cfc5a3ad58c1a01b1b1dd21d8f7114690a4f01 GIT binary patch literal 332000 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 {0{e!?SeiKB!MmFj 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 literal 0 HcmV?d00001