Originally shared by Ed S ,

Originally shared by @EdS , this is a really good write-up of the search for a bad assumption the Go runtime was making about available stack sizes, and a reminder that even single assembler commands (orq, in this case) are not atomic, and this can matter.

Originally shared by Ed S

Great writeup - very diligent digging into the root cause of some mysterious crashes in a simple golang application. “I built 32 kernels, one for each bit of the SHA-1, which only took 29 minutes. Then I started testing them, and every time I got a crash, I narrowed down a regular expression of possible SHA-1 hashes to only those with zero bits at those specific positions. At 8 crashes (and thus zero bits), I was down to 4 object files, and a couple were looking promising. Once I hit the 10th crash, there was a single hit.”
(Yes, there was also some bad RAM, but that wasn’t part of the cause - very diligent digging, remember.)
via er1n@social.mecanis.me (on mastodon)