Closed Bug 1199662 Opened 10 years ago Closed 10 years ago

Crash ping environments are broken

Categories

(Toolkit :: Crash Reporting, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox41 --- wontfix
firefox42 --- fixed
firefox43 --- fixed

People

(Reporter: benjamin, Assigned: benjamin)

References

Details

(Whiteboard: [unifiedTelemetry])

Attachments

(1 file)

STR: Crash Firefox: you can do this by typing this into the browser console: Cu.import("resource://gre/modules/ctypes.jsm"); ctypes.cast(new ctypes.intptr_t(5), ctypes.int32_t.ptr).contents; Re-open Firefox and wait a minute. Using the future version of about:healthreport (not landed yet) or API access, check the contents of the crash ping. EXPECTED: payload.hasCrashEnvironment should be true, and the environment block of the ping should list the previous environment. ACTUAL: payload.hasCrashEnvironment is false. Exception in the browser console: 10:18:11.597 JSON.parse: expected ',' or '}' after property value in object at line 1 column 785 of the JSON data1 CrashManager.jsm:541:0
In the data submitted to crash-stats, TelemetryEnvironment is a correct annotation and appears to be valid JSON.
Turns out it's confusion about escaping in the event file. Crash reporter stores and write its key-value pairs by escaping \ and \n, but when we read it we don't unescape. Going to fix this using KeyValueParser.jsm.
Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r?ted
Attachment #8654980 - Flags: review?(ted)
Comment on attachment 8654980 [details] MozReview Request: Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r?ted https://reviewboard.mozilla.org/r/17783/#review15975 Wish we weren't using such a half-baked format, but at least we have a library to parse it!
Attachment #8654980 - Flags: review?(ted) → review+
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
Blocks: 1122482
Whiteboard: [unifiedTelemetry]
Comment on attachment 8654980 [details] MozReview Request: Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r?ted Approval Request Comment [Feature/regressing bug #]: Unified Telemetry [User impact if declined]: Part of the data in crash pings is broken and thus missing for analysis. [Describe test coverage new/current, TreeHerder]: Automated tests, manual confirmation. [Risks and why]: Low-risk, small and limited change. [String/UUID change made/needed]: None.
Attachment #8654980 - Flags: approval-mozilla-aurora?
Flags: qe-verify+
Comment on attachment 8654980 [details] MozReview Request: Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r?ted OK, let's do it.
Attachment #8654980 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Flags: qe-verify+ → qe-verify-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: