Problem
The native-crash instrumentation now records the fatal signal, timestamp, and crash-time context, then replays an app.crash event after restart. It does not capture the native C/C++ frames, so the event cannot show where the crash occurred. This is the remaining requirement called out in #764.
Scope
- choose a signal-safe way to capture or persist enough crash-time state to produce native frames after restart
- include a usable native stack in the replayed
app.crash event
- cover supported Android APIs and ABIs, including malformed or partial crash data
- preserve the current handler chaining and one-time marker cleanup behavior
The signal handler must remain async-signal-safe: no allocation, locks, JNI, or logging. On-device symbolication and backend rendering can remain separate work.
Related to #764. Marker format compatibility is tracked in #1915, and signal-handler interoperability is tracked in #1928.
Problem
The native-crash instrumentation now records the fatal signal, timestamp, and crash-time context, then replays an
app.crashevent after restart. It does not capture the native C/C++ frames, so the event cannot show where the crash occurred. This is the remaining requirement called out in #764.Scope
app.crasheventThe signal handler must remain async-signal-safe: no allocation, locks, JNI, or logging. On-device symbolication and backend rendering can remain separate work.
Related to #764. Marker format compatibility is tracked in #1915, and signal-handler interoperability is tracked in #1928.