Comment by munk-a

6 years ago

It's actually a bit over the max value[1] - I agree though that I'd strongly suspect this issue is related to overflowing a millisecond counter stored in a 32-bit int. The numbers are way too close.

Hey, maybe <51 was just a off-by-one error... or maybe the actual advisory is to be <50 and some PM decided that number was too round or violated an SLA.

1. 4,294,967,296 or 4.29e9

They should follow the Linux kernel and set all counters to rollover a few minutes after boot.

  • Does it actually do that? Is it done to ensure that all apps can handle the scenario?

    • Yes. Jiffies (the main linux counter) rolls over either 10 or 20 minutes after boot. Yes. It is to ensure kernel modules as code can handle the roll over.

But with engineering we almost always have safety factors. I'd say it's probably a 64-bit int, but that would be way too much of a safety factor.

  • Safety factors are a thing, sure. Safety factors of 4.29e9x (which is what you get when you go from 32- to 64-bit ints) are possibly a bit excessive, and not at all worthy of an FAA airworthiness directive.

    • My biggest surprise today is from learning that critical aircraft software is left running for days without a full restart. Somehow I assumed everything gets completely shut down every time they refuel or so.

  • Given this appears to be used in the communications layer of the system I expect that the width is a defined segment of some part of the wire protocol.