Skip to content

Latest commit

 

History

History
191 lines (115 loc) · 8.63 KB

README.md

File metadata and controls

191 lines (115 loc) · 8.63 KB

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

Atop segfaults

Breakpoint takes 15ms

Bug that hides from breakpoints

C64 Variable Screen Position crash

Chrome development branch crashes with x87 FPU stack overflow

Crash Bandicoot memory card corruption

Crashes only on Wednesdays

Custom Rust OS crashes

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

Email only goes 500 miles

How I cut GTA Online loading times by 70%

Impossible random number collision happened in practice

Incorrect sign masking operation

iOS file corruption

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

FPGA / CPU timing bug

Gdb set follow-fork-mode child doesn't work

git - pack corruption post-mortem

Grep segfaults

GWT test passes during normal runs but fails during coverage runs

Java 8 webapp performance problems

JVM has 6-7 second GC pauses

Linux kernel CPU contention

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

NFS bug hunting on GitLab

Node.js memory leak

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

PS2 SDK doesn't zero the .bss segment

Python hashes files differently on different days

Python/Flask/S3 absurd memory usage

Register allocation algorithm in JIT uses extra register

Script crashes before 10 a.m

SIGALRM timer hangs

Signal fails only when returning from page fault handler

Signal handling on 286 emulator for Xenix

The Case of Veeerrry Slow Logons

SSH sometimes fails from cron

Stack corruption when using select()

Switch crashes machine despite not being connected

The Debug heap that created bugs

The Wi-Fi only works when it's raining

Tmux/vim strangeness

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.

The big handle gamble

Fictional stories

Coding Machines

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
  • Predrag Gruevski
  • Rafik Draoui
  • Ramon Fried
  • Sean Cassidy
  • Ty Lamontagne
  • 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.