systems
3 articles
Autopsy of a Crash (Part 1): Learning to Read a Program's Corpse
Learning how programs die, detective-style. This is Part 1 of a three-part series: first, understand the anatomy — CPU, stack, return addresses, segfault — before you can investigate the crime scene and catch the killer. A quiz at every floor. Pass to proceed.
Autopsy of a Crash (Part 2): The Coroner Won't Save You — Call the Epidemiologist
Autopsy trilogy, Part 2. Enter the core dump crime scene, learn the red zone and signal handler roles, then move from coroner to epidemiologist: use a year of citywide death records to solve the first bug, a poisoned well called a bad host.
Autopsy of a Crash (Part 3): Catching the 18-Year-Old Ghost
The autopsy trilogy finale. The remaining 'return-to-null' murders all died during C++ exception unwinding — a teleport, not a normal return. The killer: an 18-year-old race in GNU libunwind, with a murder window one instruction wide (~100 picoseconds). Plus Fermi estimation to check the math.