Updated: Statement from AMD.
AMD has confirmed that some of its processors contain a bug that could cause program errors under certain specific conditions.
The bug was initially discovered by Matt Dillon of OS developer DragonFly BSD, who outlined the issue in a newsgroup post late last year. AMD has now confirmed to Dillon that the bug does indeed exist in some of its CPUs.
"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 or incorrectly updates the stack pointer."
Dillon says that he was "pretty stoked," because, "it isn't every day that a guy like me gets to find an honest-to-god hardware bug in a major CPU." Confirming the bug was tricky and involved writing a custom fully bootable version of the Dragonfly OS.
AMD offered the following statement:
A program exception has been identified in previous generations of the AMD Opteron processor that occurs in certain environments that leverage a very specific GCC compiler build. A workaround has been identified for the small segment of customers this could potentially impact.
Also, this marginal erratum impacts the previous four generations of AMD Opteron processors which include the AMD Opteron 2300,8300 8300("Barcelona" and "Shanghai",) 2400, 8400 ("Istanbul",) and 4100, 6100 ("Lisbon" and "Magny-Cours") series processors.
It's worth pointing out that what's special about this story is not the fact that a bug was discovered in a CPU (errata for CPU bugs is common and nothing special or newsworthy most of the time) but the fact that it was discovered by a third-party software developer.
The news of this bug comes a day following the announcement that AMD was giving up its remaining 8.8 percent equity stake it held in GlobalFoundries after spinning off its manufacturing arm three years ago. This move will force the company to take a charge of $703 million in the first quarter but will allow it to be more flexible in choosing manufacturing partners, GlobalFoundries and TSMC, for its 28nm products.