Closed
Bug 1035694
Opened 10 years ago
Closed 7 years ago
Display AsyncShutdownTimeout stacks and states
Categories
(Socorro :: General, task)
Socorro
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: Yoric, Unassigned)
References
Details
Now that bug 1034726 has landed, AsyncShutdownTimeout crashes may contain JavaScript stacks that will generally be much more useful than the native stack. Among other applications, they should often let us determine at a glance whether the offending code is an add-on. However, reading the stacks from the JSON will be quite annoying. Also, the AsyncShutdownTimeout metadata contains optional state information, which is critical for finding out in which state the component was during the crash. It would be great if we could display both the JS stacks and the state information, if available, on the main page, before the native stacks. The data structure contained in the AsyncShutdownTimeout payload looks like: { phase: string, conditions: array of [{ name: string, // <=== Display this stack: optional string, // <== And that state: either arbitrary JSON or the string "(none)" <== And that // ... }] } e.g. { phase: "profile-before-change", conditions: [ { name: "OS.File flushing its data during profileBeforeChange", stack: "chrome://resources/osfile/osfile_async_front.jsm:104\n....", state: {shutdown: false, started: true, ...}, // ... }, { name: "Sqlite.jsm flushing its data during profileBeforeChange", stack: "...", state: "(none)", // ... ] } I would like to see something along the lines of *** JS Stacks Client: OS.File flushing its data during profileBeforeChange stack: chrome://resources/osfile/osfile_async_front.jsm:104 chrome://... // ... offending_add_on.jsm state: {shutdown: false, started: true, ...} Client: Sqlite.jsm flushing its data during profileBeforeChange stack: chrome://... // ... offending_internal_client.jsm state: (none)
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(benjamin)
Comment 1•10 years ago
|
||
The data is all in the metadata tab and available via the API. For now, I suggest you just write a little tool to display this the way you want.
Reporter | ||
Comment 2•10 years ago
|
||
Actually, as far as I can tell, the data is not available via the API unless we download every single raw crash in the time range. Filed as bug 1035694.
Reporter | ||
Comment 3•10 years ago
|
||
I meant bug 1035822.
Updated•10 years ago
|
Flags: needinfo?(benjamin)
Comment 4•7 years ago
|
||
AsyncShutdownTimeout is already in Super Search Fields. Can't easily tell for how long it's been there (since we moved from storing these in Elasticsearch to a .json file) https://github.com/mozilla-services/socorro/blob/f3e61dae8c690673d3856889f8c604d1a3d1b232/socorro/external/es/data/super_search_fields.json#L125-L149 You can both filter and facet on it. E.g. https://crash-stats.mozilla.com/search/?async_shutdown_timeout=MediaShutdownManager&product=Firefox&date=%3E%3D2017-08-17T15%3A46%3A00.000Z&date=%3C2017-08-24T15%3A46%3A00.000Z&_sort=-date&_facets=async_shutdown_timeout&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-async_shutdown_timeout
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•