Skip to content

v0.9.0 — in-process native crash handler (experimental)

Choose a tag to compare

@francoios francoios released this 20 Jul 10:55
f899e61

In-process async-signal-safe native crash handler (Linux/Android), opt-in via options.enable_native_crash_handler (default off).

  • Catches SIGSEGV/ABRT/BUS/ILL/FPE/TRAP; write()-only dump over a pre-opened fd against a pre-captured module table (dl_iterate_phdr + NT_GNU_BUILD_ID), on a pre-allocated sigaltstack, with a re-entrance guard.
  • Captures PC (+LR on ARM) as (module, build-id, offset) frames — no on-device symbolication; done server-side against uploaded symbols.
  • Chains to any pre-existing handler (Unity / UGS Cloud Diagnostics), then re-raises the default so the process dies with the true signal.
  • Dump picked up at the next launch and reported with crashType + osSignal; supersedes the generic unclean-shutdown, while a restored managed crash still wins.
  • Fail-soft no-op on unsupported platforms (Windows SEH / iOS Mach are follow-ups). 3-OS CI green incl. a Linux fork/SIGSEGV chaining integration test.

Full notes: CHANGELOG.md.