Hacker News new | ask | show | jobs
by rcyeh 1341 days ago
tl;dr: 51 days is the wraparound point of a signed 6-byte counter running at 33 MHz, used to invalidate stale data from instruments.
4 comments

When I saw 51 days my first thought is it had to be a time rollover. Mainly because of this bug from long ago and how close the time spans are.

https://www.cnet.com/culture/windows-may-crash-after-49-7-da...

This assumes there is no margin of error baked into the 51 day rule, which surprises me.
This communication is not Boeing communicating a required maintenance interval, they're communicating a problem. It wouldn't seem natural for me for Boeing to add a random hidden margin in a problem description. When it comes to the maintenance remedy, I don't know if Boeing would do this or airlines or the FAA. Presumably the mandatory maintenance reboot interval will be much shorter than 51 days.
2^47/(32MHz) ~= 50.9 days

Not much of a margin there.

2^47/33e6 = 49.36 days. The value is so much off that makes me suspect that this is not the correct analysis, or at least that there are additional factors at play
exactly. you could find a plausible clock rate that rolls over in ~51 days with any number of assumed counter widths. this is not indicative of anything but guessing.

and there is no margin at all or negative margin, so clearly this is wrong. is the rollover period 52 days? 60? 90?

the whole article is a bunch of unsubstantiated speculation dressed up with lots of facts and details to distract ones attention.

I feel like even 51 minutes might be too long to wait before invalidating stale instrument data on an aeroplane...
All I have to say is if my firmware barf's after being up for 8.919 million years I won't care.