diff --git a/toolkit/crashreporter/minidump-analyzer/minidump-analyzer.cpp b/toolkit/crashreporter/minidump-analyzer/minidump-analyzer.cpp index 24ea58dc780c..ae5ad738883a 100644 --- a/toolkit/crashreporter/minidump-analyzer/minidump-analyzer.cpp +++ b/toolkit/crashreporter/minidump-analyzer/minidump-analyzer.cpp @@ -406,13 +406,18 @@ static bool UpdateExtraDataFile(const string& aDumpPath, bool res = false; if (f.is_open()) { - extra["StackTraces"] = aStackTraces; - if (!!aCertSubjects) { - extra["ModuleSignatureInfo"] = aCertSubjects; - } - Json::StreamWriterBuilder builder; builder["indentation"] = ""; + + // The StackTraces field is not stored as a string because it's not a + // crash annotation. It's only used by the crash reporter client which + // strips it before submitting the other annotations to Socorro. + extra["StackTraces"] = aStackTraces; + + if (!!aCertSubjects) { + extra["ModuleSignatureInfo"] = Json::writeString(builder, aCertSubjects); + } + std::unique_ptr writer(builder.newStreamWriter()); writer->write(extra, &f); f << "\n";