Debugging stories
Debugging stories are fun! This is a collection of links to various debugging stories.
Non Fiction stories
An unprecedented look at STUXNET, the world's first digital weapon
Bug that hides from breakpoints
C64 Variable Screen Position crash
Chrome development branch crashes with x87 FPU stack overflow
Crash Bandicoot memory card corruption
Debian package data corruption, but only on sparc64
Debugging an evil Go runtime bug
Debugging Insights (collection of stories on separate pages, submitted to Dave Agans, the author of "Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems")
Digital divider with wrong output
How I cut GTA Online loading times by 70%
Impossible random number collision happened in practice
Incorrect sign masking operation
First Instance of Actual Computer Bug Being Found
FIRST robotics dashboard segfaults due to finalizer
Fixing A Bug In An 18 Year Old Shockwave Game
FriendNet / WoW message corruption
Gdb set follow-fork-mode child doesn't work
git - pack corruption post-mortem
GWT test passes during normal runs but fails during coverage runs
Java 8 webapp performance problems
Login only works when sitting down (and other stories). From Jon Bentley's Programming Pearls, section 5.10
Mandrill stops sending messages
Matrix transformation is 10x faster in a test harness than in the game
Memory-corruption / threading bug
Mouse won't move while processes are dying
MS Money crashes. Includes reverse engineered binary patch fix!
Multicast to 237.0.0.1 acts craters performance
Network link instability due to DB caching policies
OpenOffice + Ubuntu|2009-04-28 - "My wife has complained that OpenOffice will never print on Tuesdays" (bug is actually with the file utility)
OS crashes on boot if machine was used recently
PDP-11 crashes only when live cattle are being shipped from northern Ukraine and western Russia
Perl can't read from TMPDIR? (separate analysis of the same issue here)
Polish S doesn't appear on medium
Python hashes files differently on different days
Python/Flask/S3 absurd memory usage
Register allocation algorithm in JIT uses extra register
Signal fails only when returning from page fault handler
Signal handling on 286 emulator for Xenix
The Case of Veeerrry Slow Logons
Stack corruption when using select()
Switch crashes machine despite not being connected
The Debug heap that created bugs
Tracking down a CPU bug in Solaris across multiple OS layers
uint32_t gets truncated to 16 bits
Unit tests fail when run in Australia
Windows crash dump of nonsensical instruction
HTTP/HTTPS not working inside your VM? Wait for it.
Fictional stories
Contributors
- Alexandros Tasos
- Arthur Axel fREW Schmidt
- André Luiz
- Bill Smith
- Brad Parker
- Bruce Dawson
- bussiere
- crazymerlyn
- Dan Luu
- Dan Nguyen
- Darek Kay
- Dima Kogan
- Dimitry (unknownexception)
- Florent Viel
- Howard Mao
- Jakub Kądziołka
- Jani Patokallio
- Jessie Weinstein
- José Manuel DÃez
- Jouke Waleson
- Jyrki Vesterinen
- Kartik Agaram
- Kevin D. Clark
- Kirtan Gajjar
- Louis Vela
- Matteo Castellini
- Mark Jason Dominus
- michaelx386
- Nan Xiao
- Nathan Isom
- Nikola Brežnjak
- Pietro Menna
- Rafik Draoui
- Ramon Fried
- Sean Cassidy
- VladimÃr Kotal
- James Porter
TODOs:
-
Improve formatting.
-
Write up some interesting bugs: 40 hour hang, hardware bug caused by copying behavior of Intel engineering sample found on ebay, etc.