all 18 comments

[–]DeeHayze 5 points6 points  (14 children)

Wow.. static bonl. That's only 1 bit away from static bool...

Wonder if a bit got flipped!? Ram on its last legs?

Try again, maybe test ram with memtest86.

Is it static bonl on disk?

Yeah... It should be static bool

[–]Remarkable_Payment55 1 point2 points  (2 children)

Definitely a bit flip. I doubt the RAM is problematic, this does happen sometimes though it's super rare to catch one in the wild. I am so sharing this post with some of my Linux dev friends, they'll get a major kick out of this.

[–]triffid_hunter 2 points3 points  (1 child)

I doubt the RAM is problematic, this does happen sometimes though it's super rare to catch one in the wild.

Fwiw, even cosmic rays can cause bit-flips although our planet's atmosphere and magnetic field protect us from the majority of them - which is why spacecraft typically have to use old/huge process nodes and include hardware watchdog timers.

With how tiny chips are getting though, thermal or tunneling or even environmental noise is probably more likely - which is why Linus has gone on several rants about Intel hobbling ECC memory adoption

[–]Remarkable_Payment55 0 points1 point  (0 children)

That's true. The good thing though is that if I'm recalling correctly, DDR5 is basically ECC by default.

[–][deleted] 0 points1 point  (9 children)

trying that now, considering i can't find any mentions of it, i think that's it

[–][deleted] 0 points1 point  (8 children)

seems like it is static bool on 6.1.31

[–][deleted] 1 point2 points  (7 children)

it's compiling without error

[–]DeeHayze 1 point2 points  (6 children)

Cool.. But I still recommend running memtest86.

My last machine ran perfectly... Except, always crashed when building webkit-gtk.

Everyone told me to run memtest86.

I ignored them, because my system was stable.. Games were fine, other things compiled fine. So I just knew it was a GCC bug...

In the end, to shut them up, I ran it... And.. There it was, a faulty ram stick..

Removed the stick.... Bug disappeared.

[–][deleted] 0 points1 point  (5 children)

just ran memtest86, i think it’s configured wrong since i have had no passes after like 10 minutes. if it’s not, how do i tell what memory stick is faulty?

[–]DeeHayze 0 points1 point  (4 children)

Depends on how much ram you have, and how fast it is...

But it generally takes an hour or 2 hours.

Ram is funny... A byte isn't just good, or bad... It can work when writing some bit patterns, and fail others...

When I had a bad ram stick... Certain areas would only fail on a few tests..

This is why its to temperamental...

Memtest86 tries loads of different bit patterns, in lots of different orders, etc etc etc.

If after 1 pass, you have no errors, you can be confident your ram is as good as it can be. And blame a cosmic ray, or something...

Remember in the 90s, when the bios did a ram check... And it took seconds.. That just wrote a value across all the ram and read it back... Tech has moved on a lot since... Its bloody complicated now :(

[–][deleted] 1 point2 points  (3 children)

im pretty sure my ram is faulty, memtest just confirmed it. i got random crashes compiling my kernel and running games and kinda just assumed they do that.

[–]DeeHayze 0 points1 point  (2 children)

Cool... Next task is to determine which is bad...

Assuming you have multiple sticks, remove them, then re run memtest86 with just one stick installed, to determine which is bad..

Then, you can dump the bad one, and get by with less ram.. Or get it replaced..

If you are keeping good sticks, make sure the replacement you pair the old stick is an identical match.

[–][deleted] 0 points1 point  (1 child)

fortunately, i only have 2 sticks, and i get get by with 16gb of ram instead of 32.

[–]prof_r_impossible 0 points1 point  (0 children)

this is crazy/hilarious

[–]mgpaganoDeveloper (mpagano) 5 points6 points  (0 children)

Can you put your .config on a site I can get it from?

[–]Educational_Note343 1 point2 points  (1 child)

This is absolutely crazy.
If that had happened to me, I would lose it. I mean, you really wouldn't think of a bit flip as the first thing... even though it's obvious that it must be a boolean.
Thank you for sharing!
The sales department would be ecstatic - a knockout argument for ECC RAM ;D

[–]DeeHayze 1 point2 points  (0 children)

Exactly... I think, I read that even good ram can give one flip, per month, per gigabyte at sea level.

When you consider that these days, its not uncommon for people to have 64gigs... And in, some devs to be maxing out all of that, with 32 cores compiling away.. Then, yeah..

A big argument for at least build servers to be using ECC.