A few years ago I designed a way to detect bit-flips in Firefox crash reports and last year we deployed an actual memory tester that runs on user machines after the browser crashes. Today I was looking at the data that comes out of these tests and now I'm 100% positive that the heuristic is sound and a lot of the crashes we see are from users with bad memory or similarly flaky hardware. Here's a few numbers to give you an idea of how large the problem is. 🧵 1/5
There’s a jump instruction by an address read from RAM, a bit flip occurred so a condition “if friend greet else kill” worked as “if friend rape else kill”. Absolutely anything can happen, that wasn’t determined by program design flaws and errors. A digital computer is a deterministic system (sometimes there are intentional non-deterministic elements like analog-based RNGs), this is non-deterministic random changes of the state.
In concrete terms - things break without reason. A perfect program with no bugs, if such exists, will do random wrong things if bit flips occur. Clear enough?
People care about what they care about breaking in their hands and exploding into their faces.
ASD and BAD, probably also ADHD.
People also love to assume what they keep on their hard drives and memory sticks is somehow preserved over time and machine time. Bitflips and other physical effects onto your imagined perfect machine are why it’s not, and is as good or worse as what’s written on paper. A cat decides to piss onto your grandpa’s diary and there’s no more diary. Or humidity slowly eats it. With computers it’s even faster.
Removed by mod
There’s a jump instruction by an address read from RAM, a bit flip occurred so a condition “if friend greet else kill” worked as “if friend rape else kill”. Absolutely anything can happen, that wasn’t determined by program design flaws and errors. A digital computer is a deterministic system (sometimes there are intentional non-deterministic elements like analog-based RNGs), this is non-deterministic random changes of the state.
In concrete terms - things break without reason. A perfect program with no bugs, if such exists, will do random wrong things if bit flips occur. Clear enough?
In practice preftct programs do exist, they just have to be small enough to do formal verification
Very ironic typo there
Removed by mod
I don’t want to use the M-word or the T-word, but those “made up use cases” constitute every computer program in existence.
Sorry let me correct. Use cases that normal people give two fucks about and based on reality.
Each and every one of them, moron. Everything you do on a computer every moment.
Removed by mod
People care about what they care about breaking in their hands and exploding into their faces.
ASD and BAD, probably also ADHD.
People also love to assume what they keep on their hard drives and memory sticks is somehow preserved over time and machine time. Bitflips and other physical effects onto your imagined perfect machine are why it’s not, and is as good or worse as what’s written on paper. A cat decides to piss onto your grandpa’s diary and there’s no more diary. Or humidity slowly eats it. With computers it’s even faster.
Oh, now we’re launching into hard drive degregation because firefox crashing isn’t actually enough to send normies into a rage?
Nobody but nerds optimizing for use cases for the. 01%.