Debugging Complications

image

Sometimes a bug is easy to catch. You do some normal set of inputs and the aberrant behavior appears. Sometimes a bug is difficult to reproduce. Here are some of the qualities that can make a bug difficult to nail down:

  • [Build-specific] - The bug only shows up in release or final builds.
  • Platform-specific - The bug only shows up on a particular platform (e.g. PS4, Linux dedicated server, Windows 10 service pack 2, etc.)
  • Random timing - The repro steps are always the same, but the bug doesn’t always happen when the steps are taken
  • Frame-specific timing - Specific inputs must be made within a specific frame window to cause the bad behavior. Bonus difficulty if you have to reproduce the bug on a debug build with a low frame rate
  • Silent failure - The bug doesn’t actually trigger any error messages or logs or anything, it just fails silently without a trace
  • Requires multiple players to repro - Happens only on a dedicated server with multiple squads all playing at once! Player A must do the action to Player B, and the bug appears on player C’s screen!
  • Requires a long time to reproduce - The bad behavior happens only when leaving the game on for multiple hours, like via a [smoke test]
  • Live Environment Only - This bug only ever shows up in the live game
image

Even more fun, there’s nothing stopping more than one of these complications to happen within the same bug. A build-specific, platform-specific, live-only bug that silently fails and requires a bunch of players that only happens after many hours? Fun!

[Join us on Discord] and/or [Support us on Patreon]

Got a burning question you want answered?