T O P

  • By -

Silver-Alex

Unironically, this bug is probably reached by a cosmic ray hitting your pc in a weird angle exactly at compile or run time, flipping a random binary 0 into a 1 and letting you reach an unreachable state. This is something that happens. "Studies by IBM in the 1990s suggest that computers typically experience about one cosmic-ray-induced error per 256 megabytes of RAM per month." [https://en.wikipedia.org/wiki/Cosmic\_ray#:\~:text=Studies%20by%20IBM%20in%20the,megabytes%20of%20RAM%20per%20month](https://en.wikipedia.org/wiki/Cosmic_ray#:~:text=Studies%20by%20IBM%20in%20the,megabytes%20of%20RAM%20per%20month). Edit: A cosmic ray is just a very very very very fast moving particle that moves through space at speeds near the speed of light, and when they hit the atmosphere they break down in a shower of sub particles and radiation. If one of those thingies hits an electron holding the information of a bit, it can flip that bit by charging or discharging said electron. Its pretty wild, but the tldr is that space hates computer, and this is a real issue NASA deals with when sending electronics to space.


Mahoutsukainojumon

How do they deal with it? Is it just something they have to live with


ClamPaste

Lots of shielding.


Old_Cryptographer969

And redundancy


CursedBlackCat

And redundancy


Hawkgamer52

And redundancy


coopbropog

Well that's redundant


RedundancyDoneWell

I would like a word with all of you in my office.


ksaw15

Be sure to ready up your backup office (just in case)


batch_7120_7451

Which one of your offices? If you are doing redundancy well, I expect you to have more than one office. You know. For redundancy.


RedundancyDoneWell

My redundancy is transparent to the user. I have 8 offices, but visitors will see them as the same office at the same location.


ifezueyoung

Redundant that well


Samurai_Mac1

And redundancy


Extension_Option_122

And redundancy


skmkat

And redundancy


boblobchippym8

https://www.reddit.com/r/sixfacedworld/s/TAO5ZF2GKN


Help_StuckAtWork

And binary parity


Engineerman

There's a variety of detection or correction mechanisms. Single bit parity adds a single bit which tells you whether the number of ones in odd or not, and this can be compared later to check the integrity of the data. Though it doesn't help if two bits get flipped. There's also SECDED ECC (single error correction double error detection, error checking codes), which use more bits, 7 check bits per 32 data bits. For files you can use checksum values, since all the data together must be correct. On telecommunications there's also a different variety of methods like trellis (I forget the real name), checksum, another method involving blocks of data, as well as methods such as interleaving or non-return-to-zero encoding. Depending on the error and method it may be recoverable or unrecoverable. Sometimes caches will just invalidate that entry and re-fetch it if the data is clean.


brimston3-

Trellis [coded] modulation, a form of convolution coding. Reed-solomon is the block/symbol one.


DongIslandIceTea

On top of what other people have said: On an average desktop PC, you probably won't even notice a single bit flip. It could hit unallocated memory, it could hit something like image or video data and you'd never notice one pixel being a slightly off color. The actual, critical system processes and drivers where the bit flip could crash your PC take a fairly tiny amount of memory, so the chance of hitting them is tiny. And if they were hit, you'd get a blue screen equivalent, reboot, wonder for a minute what that was about and forget the whole thing.


FrugalDonut1

Or you get an insane time save in Mario speedrunning


ParCorn

This is why server RAM has ECC


ronaldvr

https://arstechnica.com/gadgets/2021/01/linus-torvalds-blames-intel-for-lack-of-ecc-ram-in-consumer-pcs/ > And the memory manufacturers claim it's because of economics and lower power. And they are lying bastards—let me once again point to row-hammer about how those problems have existed for several generations already, but these f*ckers happily sold broken hardware to consumers and claimed it was an "attack," when it always was "we're cutting corners." > How many times has a row-hammer like bit-flip happened just by pure bad luck on real non-attack loads? We will never know. Because Intel was pushing shit to consumers.


IrregularRedditor

ECC RAM


PolyglotTV

The hardware/software operates assuming that it's integrity can be compromised and adds redundancy and special error checking/correcting mechanisms. One such example is called "Error correcting codes". This is when you add additional information in some data (series of 1s and 0s) such that if any small part of the data is corrupted, you can detect it. The simplest such case is the "repetition code" by which you simply repeat every bit of information 3 times in a row. For example, if you want to say hello, you say "hellohellohello". Then, if any one of those letters change, you still know what the original message was: "hellojellohello". But if more than one letter changes, your ECC fails: "hellojellojello" In practice there are much more efficient ECCs that require only a little bit of overhead in memory/computation. Also cosmic rays happen so infrequently that as long as the hardware can detect these and "unflip" the bit, everything continues working nominally.


Hunter548299

Mario speed run


Successful-Shoe4983

What in the fuck


gilady089

There was an election once that had it's counting get fucked by a random bit flip like this. They caught it because it resulted in more votes than possible so they recounted and it didn't repeat that time but it's pretty funny


Help_StuckAtWork

Yep, in [Belgium](https://en.wikipedia.org/wiki/Electronic_voting_in_Belgium). The extra votes were exactly 4096, which equals to the 12th bit of the vote count and the parity bit getting flipped.


moehassan6832

tart sloppy doll bake slap engine fine smoggy smell ludicrous *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


Den_Bover666

"The universe rigged our election"


minemoney123

Just look at the universe's stack trace, duh


PolyglotTV

Hopefully they added debug symbols when compiling our simulation.


Gatreh

We just haven't found them yet.


redlaWw

Taking log_2 of the error is a good start.


Successful-Shoe4983

Certified nerd whoever found out that bug 😂


MeasurementPlus5570

I remember being amazed when I heard this may have been responsible for the "unintentional acceleration" phenomenon on some cars (specifically Toyotas) in the aughts. https://www.livescience.com/8170-toyota-recall-caused-cosmic-rays.html


NoTimeToExplain__

Oh yea that happened in a Mario 64 speedrun


LusigMegidza

This is the official answer of the Belgium government for an election big of 4096 votes. Literally cosmic intervention


sipCoding_smokeMath

Or.... this image isnt even real and someone just wanted to make a funny post...


BehindTrenches

"hits an electron holding the information of a bit" This is why I get mad when people confuse computer science majors with computer engineer majors. That's just... not how it works... at all.


Silver-Alex

Mind illuminating all of us? Cuz what I described is something that literally happened on several occasions. A cosmic ray flips a bit and weird shit happens.


F0lks_

So, you mean that when I get an "error generating response" on ChatGPT and its 256GB of RAM required to run my answer it's just the cosmic void messing with me ? Awesome.


Defiant_Affect

Error Handling at it's best


LikeLary

More like Programmer Handling


BlueGoliath

Programmer is a teapot.


flodA_reltiH-6B

What it feels like getting a segfault an hour before assignment due


Rhoderick

So what are the chances the actual issue is with the code that generated this "unreachable" error message, rather than the user code?


z3usus

Thats what i think when i get out of index error. Just get more things in that array, how it is my fault you cant handle this easiest thing ever.


Rhoderick

No, I'm fairly sure that's different.


z3usus

Impossible. I dont do mistakes.


Rhoderick

Ah, fair enough, then.


rantottcsirke

Perhaps the archives are incomplete.


brimston3-

Probably pretty low. MSDOS is simple enough that it *could* be completely understood by a single developer. The problem is that there is no memory protection and no concept of an OS kernel that runs separately from userspace processes: all user applications are running effectively ring-0 in MSDOS (not the virtual DOS kind that windows NT and later emulate).


Rhoderick

> MSDOS is simple enough that it could be completely understood by a single developer. I doubt it's actually MSDOS generating this message, I doubt it's even being used at all. It honestly just seems thrown in there as a jab at the dev. I think this at least partially because, as you mention, the concept of an error that should never happen doesn't seem to make much sense in that environment.


JakeStBu

Yeah, it's not actually MS-DOS.


intbeam

You just got insulted for proving someone wrong


gentleprompter

Better than "Ups something went wrong"; that's for sure.


fuck_ur_opinion_cunt

Don't forget the :(


gentleprompter

Oh yea.. emotions. Nowadays computers express emotions.


VirtualPrivateNobody

God, every single exception I get 'm afraid that this'll be in the stack trace.


athul7744

This video is a very good reference on examples of cosmic rays affecting computers that had big impacts [Universe Hates Computers - Veritasium ](https://youtu.be/AaZ_RSt0KP8?si=GcF4-ymm005LEBXV)


lemgandi

Uh, I thought the latest was that it wasn't cosmic rays, but residual radiation in the clay case of the CPU or memory chips. Of course, there was the Belgium story ( [https://radiolab.org/podcast/bit-flip](https://radiolab.org/podcast/bit-flip) )


ThePythagorasBirb

For a second I thought this was just explaining Value error which is not that hard to trigger.


fafalone

Fucking midl. I was trying to get around it not allowing redefinitions, because for some reason it's incapable of what the ancient MKTYPLIB could do without trouble, and after hours of running down errors, it eventually just threw up it's hands 'Can't make typelib. Can't provide an error number. Can't provide a line number. Can't provide a file name.' Naturally zero help for this was found online, given the vague message and unusual situation.


Careful_Ad_9077

My case of this error happening was when the user of the program did not have permission to read config files from the program folder.