mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-02-04 06:23:45 +00:00
Improve crash handling
This adds a crash handler which reports a crash (if telemetry is enabled). On a crash, this looks for `curl` (using the PATH env), and forks the process to then call execve. This relies on a new endpoint to be setup to accept the "report". Also, we include very little data..I figured just knowing about crashes would be a good place to start. A panic handler is provided, which override's Zig default handler and hooks into the crash handler. An `assert` function is added and hooks into the crash handler. This is currently only used in one place (Session.zig) to demonstrate its use. In addition to reporting a failed assert, the assert aborts execution in ReleaseFast (as opposed to an undefined behavior with std.debug.assert). I want to hook this into the v8 global error handler, but only after direct_v8 is merged. Much of this is inspired by bun's code. They have their own assert (1) and a [more sophisticated] crashHandler (2). : (1)beccd01647/src/bun.zig (L2987)(2)beccd01647/src/crash_handler.zig (L198)
This commit is contained in:
Reference in New Issue
Block a user