Have you tried turning it off and on again? Real bugs a reboot hides
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
- 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?
- 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?
- Not answered.
GetTickCount()returns the milliseconds since boot as a 32-bit unsignedDWORD. Which timeout check keeps working when that count wraps to zero? - Not answered. Linux starts its 32-bit
jiffiestick counter at a value that wraps five minutes after boot, not at zero. Why? - Not answered. In 2015 the FAA found that a Boeing 787 left powered on for 248 days straight could lose something. What?
- 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?
- 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?
- 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?
- 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?
- Not answered. Which of these statements about the Dhahran failure appear in the GAO's report?
- 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?
- Not answered. In a browser, what does
setTimeout(sendReminder, 30 * 24 * 60 * 60 * 1000)do? - 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.
- Not answered. "Gangnam Style" passed 2,147,483,647 views in December 2014. What happened to YouTube's view counter?
- 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?
- 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?
- 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?
- Not answered. Which of these changes fix the underlying bug, rather than restart the clock on it?