Crash reporting improvements: Difference between revisions

Added information about supporting inline frames
(Added the minidump-writer issue regarding detecting guard pages)
(Added information about supporting inline frames)
Line 137: Line 137:


=== Description ===
=== Description ===
For a long time Breakpad symbol files only included names and information for
non-inlined functions. This was recently changed and now symbols files can
include the name of inlined function as well as the regions of memory where
they were inlined, complete with indexes to discern at what level of the stack
they appeared.


=== Rationale ===
=== Rationale ===
Firefox code includes heavy inlining, especially in layered Rust and C++ code.
The lack of inline information has hampered us, often making interpreting
crashes very much non-obvious. Adding support for inlined functions would make
it easier to diagnose bugs and would significantly simplify triage of certain
modules.


=== Plan ===
=== Plan ===
* The first step is to introduce support in Symbolic to correctly parse these fields while reading .sym files. This will be used to later add support in the stack walker
* Once Symbolic support is ready dump_syms needs to be modified to emit these directives. Symbolic already supports reading inlining information from native debuginfo so it's a matter of leveraging that information
* Finally the stack walker needs to be modified to take into account the new directives and emit inlined frames in the output


== Improved stack overflow detection & analysis ==
== Improved stack overflow detection & analysis ==
Confirmed users
387

edits