AMD has confirmed the presence of a bug in its Zen-architecture Ryzen processors which allows any program to completely hang the system by executing an FMA3 instruction, but says that a microcode update is in the works to resolve the issue.
The erratum in AMD's latest Ryzen processors was first spotted earlier this month
when a little-known benchmark compiled for Intel's Haswell microarchitecture was executed on a Ryzen processor. With Ryzen offering effective feature parity with Haswell, this should have worked perfectly; in the worst case, an attempt to execute a Haswell-specific instruction on the Ryzen chip should have crashed the benchmark. Instead, the benchmark crashed the machine - hard. The problem was soon discovered to be entirely independent of any other hardware in the system and reproducible on Ryzen builds using different motherboards - meaning it was a flaw in the chip to blame.
AMD has now confirmed that it understands the root cause of the problem, which is triggered when a program attempts to executive a fused multiply-add with three operands (FMA3) instruction typical to Intel processors rather than the fused multiply-add with four operands (FMA4) instruction usually used with AMD chips. There's good news, too: the company is working on a patch which it will distribute to motherboard manufacturers as an updated AMD Generic Encapsulated Software Architecture (AGESA) build, the company's name for the microcode which controls its processors. This build can then be integrated into firmware updates for each motherboard, either fixing the problem altogether or disabling FMA3 - AMD has not yet clarified which.
Motherboard manufacturers have already received an updated AGESA build earlier this week, but it is not clear whether this release includes the FMA3 erratum fix. In either case, those with Ryzen builds are advised to keep an eye on their motherboard manufacturers' download pages for updated firmware in the coming days.