Crash reporting service for the EriX operating system.
- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| linker.ld | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
crashd
crashd is the crash reporting daemon for EriX.
It receives killed-process reports from procd, stores typed crash records in a bounded in-memory ring, and forwards crash events to logd as structured error logs.
Behavior
- Implements IPC operations:
IPC_PHASE1_CRASHD_OP_REPORT(0x520)IPC_PHASE1_CRASHD_OP_READ(0x521)
- Stores crash records in a fixed-size ring buffer (
256records). - Assigns monotonic
report_idand monotonictimestampcounters. - Accepts only killed-event reports (
event_kind = IPC_PROCESS_EVENT_KIND_KILLED). - Self-registers with
namedin crash-reporting mode. - Resolves
logdvianamedin crash-reporting mode. - Emits startup and crash error logs through
lib-log.
Build
cargo build --release
Test
cargo test
Features
crashd-integration-smokecrashd-integration-force-failcrashd-integration-phase1-crash-reporting