Crash reporting service for the EriX operating system.
Find a file
Erik Inkinen 0a878c7338
All checks were successful
CI / test (push) Successful in 5s
CI / security (push) Successful in 1m28s
CI / minimal-versions (push) Successful in 11s
crashd: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:50 +02:00
.github Refactor milestone terminology to "Component Milestone Tracking" across documentation for clarity and consistency 2026-03-05 11:57:26 +02:00
src crashd: split timed runtime and startup paths 2026-03-23 09:37:41 +02:00
.editorconfig Initial commit 2026-03-05 09:33:00 +01:00
.gitignore Initial commit 2026-03-05 09:33:00 +01:00
ARCHITECTURE.md runtime-mode: migrate feature gates and document mode model 2026-03-11 08:05:00 +02:00
Cargo.toml runtime-mode: migrate feature gates and document mode model 2026-03-11 08:05:00 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-05 09:33:00 +01:00
CONTRIBUTING.md Refactor milestone terminology to "Component Milestone Tracking" across documentation for clarity and consistency 2026-03-05 11:57:26 +02:00
LICENSE Initial commit 2026-03-05 09:33:00 +01:00
linker.ld Update memory address in linker script to correct section alignment 2026-03-05 11:57:30 +02:00
README.md Refactor milestone terminology to "Component Milestone Tracking" across documentation for clarity and consistency 2026-03-05 11:57:26 +02:00
ROADMAP.md runtime-mode: migrate feature gates and document mode model 2026-03-11 08:05:00 +02:00
rustfmt.toml crashd: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:50 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:10 +02:00

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 (256 records).
  • Assigns monotonic report_id and monotonic timestamp counters.
  • Accepts only killed-event reports (event_kind = IPC_PROCESS_EVENT_KIND_KILLED).
  • Self-registers with named in crash-reporting mode.
  • Resolves logd via named in crash-reporting mode.
  • Emits startup and crash error logs through lib-log.

Build

cargo build --release

Test

cargo test

Features

  • crashd-integration-smoke
  • crashd-integration-force-fail
  • crashd-integration-phase1-crash-reporting