Maks Verver - 2026-02-04

I tried running for about 6 hours but I couldn't reproduce the failure.

Is it possible that the bug is caused by bad hardware? Can you try running a tool like memtest86+ for several hours, and see if it finds any errors?

I think there are two reasons to suspect this:

  1. The invalid address 0x4000000000 happens to be a null pointer with a single bit flipped. This looks like a symptom of faulty memory, rather than a typical memory error like use-after-free.

  2. When you ran the unoptimized binary, the error appeared much earlier in the simulation, which is suspicious, because if it is a logic bug in Golly, I would expect it to trigger at around the same number of iterations (and it would take the unoptimized version much longer to get there). But if it's a hardware error, then a random bit flip might just happen every once in a while, regardless of how efficient the binary is.

So my first suggestion would be to run a diagnostic tool like memtest86+ to rule out faulty hardware. If that doesn't yield results, some other things to try:

  1. See if you can reproduce the problem with the official Linux binaries from sourceforge, here: https://sourceforge.net/projects/golly/files/golly/golly-5.0/golly-5.0-gtk-64bit.tar.gz/download
  2. Run in the debugger a few more times. Is the faulty memory address always 0x4000000000 or does it vary? If so, what values are possible?