Back to the catalog

Have you tried turning it off and on again? Real bugs a reboot hides

18 questions · by Quizbun

On The IT Crowd, a reboot is a joke. For the Boeing 787, it was an FAA order. Each Question looks at a real system that failed because it ran too long, from Windows 95 to a Patriot missile battery, and asks why a restart hides the bug without fixing it. A few Questions need only a calculator.

Questions

  1. Not answered. Windows 95 counted milliseconds since boot in a 32-bit unsigned integer. After how many days of uptime does that count wrap back to zero?
  2. Not answered. Windows 95 shipped in 1995, and the 49.7-day hang was documented only years later. What does this bug need before it can happen at all?
  3. Not answered. GetTickCount() returns the milliseconds since boot as a 32-bit unsigned DWORD. Which timeout check keeps working when that count wraps to zero?
  4. Not answered. Linux starts its 32-bit jiffies tick counter at a value that wraps five minutes after boot, not at zero. Why?
  5. Not answered. In 2015 the FAA found that a Boeing 787 left powered on for 248 days straight could lose something. What?
  6. Not answered. Suppose the 787's generator counter is a signed 32-bit integer that counts hundredths of a second. After how many days does it overflow?
  7. Not answered. In 2020 the FAA again ordered 787 operators to cycle the aircraft's electrical power, this time because of a 51-day limit. What could go wrong after 51 days?
  8. Not answered. On 25 February 1991 a Patriot battery at Dhahran, Saudi Arabia, failed to intercept an Iraqi Scud missile, which hit a US Army barracks and killed 28 soldiers. According to the GAO's investigation, what went wrong?
  9. Not answered. Each tenth-of-a-second tick of the Patriot's clock was converted with an error of about 0.000000095 seconds. How many seconds off was the clock after 100 hours of continuous running?
  10. Not answered. Which of these statements about the Dhahran failure appear in the GAO's report?
  11. Not answered. A small embedded device counts milliseconds since power-on in an unsigned 16-bit integer. After how many seconds does the count wrap to zero?
  12. Not answered. In a browser, what does setTimeout(sendReminder, 30 * 24 * 60 * 60 * 1000) do?
  13. Not answered. In December 2014 the view count of PSY's "Gangnam Style" passed the largest value a signed 32-bit integer can hold. Type that value.
  14. Not answered. "Gangnam Style" passed 2,147,483,647 views in December 2014. What happened to YouTube's view counter?
  15. Not answered. Suppose YouTube had kept a signed 32-bit view counter that wraps on overflow. What would it show after one more view past 2,147,483,647?
  16. Not answered. YouTube's counter can now reach 9,223,372,036,854,775,807, the largest signed 64-bit value. If a video gained 1 billion views every day, how many million years would it take to reach that?
  17. Not answered. A fleet of identical machines hangs now and then. Which observations point to an uptime bug, one that depends on time since the last boot?
  18. Not answered. Which of these changes fix the underlying bug, rather than restart the clock on it?