Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Killed My Own Process 300 Times to Prove ChronoVault Doesn't Lie About Durability

Description and use

ChronoVault v2 demonstrated crash‑safety by repeatedly killing its writer process, introduced pack quarantine, fixed Windows multiprocessing bugs, and benchmarked against diskcache, achieving verified durability and cross‑platform reliability.

Problem

Ensuring crash‑safety of a content‑addressable snapshot engine without relying on external libraries or assumptions about OS behavior.

Outcome

ChronoVault v2 proved crash‑safety through 300 real SIGKILL injections, introduced pack‑quarantine to prevent corrupt reads, and fixed cross‑platform bugs, achieving 279 passing tests and green CI on Linux and Windows.

Workflow

  • 1. Implement snapshot, CAS, index, and recovery modules with atomic rename + fsync.
  • 2. Add pack‑quarantine to isolate corrupt/truncated packs before indexing.
  • 3. Write recover‑check that injects real SIGKILL into writer subprocesses at random points.
  • 4. Run recover‑check 300 times, verifying all three invariants (intact snapshots, no partial reads, immediate usability).
  • 5. Benchmark against diskcache, documenting write throughput and on‑disk size trade‑offs.
  • 6. Identify and fix Windows multiprocessing bugs (KeyboardInterrupt mis‑reporting, WinError 32, join‑before‑drain deadlock).
  • 7. Document lineage edge cases and limitations in path‑history index.
  • 8. Publish judge_mode.py to re‑derive all claims automatically.
  • 9. Run CI across Python 3.10–3.14 on Ubuntu and Windows, ensuring green builds.
  • 10. Submit to hackathon with full documentation and source repo.

Evidence

recover‑check is tested against a real SIGKILL, not a simulated one: a writer subprocess runs a snapshot, gets hard‑killed at a randomized point mid‑write, and the vault is reopened cold — no manual repair step allowed.

Source

Every other number in this post makes ChronoVault look good. This one doesn’t.

Source

Three places, all invisible until I tested on real Windows hardware instead of assuming POSIX behavior generalizes.

Source

  • Record date: 2026-09-07T07:52:40.995Z