A programmer on the DragonFly BSD project is flying high as a kite this week after AMD admitted that a bug he discovered is an actual erratum the Sunnyvale chip maker was previously unaware existed in some processor families. Matthew Dillon, who had been tracking the bug for well over a year, finally came up with a test case in which AMD could replicate the error and confirm there's really a bug.
Mr. Dillon posted a portion of the email , which reads:
"AMD has taken your example and also analyzed the segmentation fault and the fill_sons_in_loop code. We confirm that you have found an erratum with some AMD processor families. The specific compiled version of the fill_sons_in_loop code, through a very specific sequence of consecutive back-to-back pops and (near) return instructions, can create a condition where the process incorrectly updates the stack pointer."
This isn't something most users will need to worry about. While it should be possible to create an environment in other OSes where the bug rears its ugly, Mr. Dillon notes "it took a lot of effort just to find a quickly reproducible case with DragonFly."
There's nothing AMD can do about the flaw in existing chips at this point, but by filing it away, programs now have a heads up and can sidestep this and other known bugs when coding software.
"I'm pretty stoked... it isn't every day that a guy like me gets to find an honest-to-God hardware bug in a major CPU!," Dillon said.