Google Uncovers CPU Bug For Geminilake, Affecting At Least Firefox & Chrome
We were alerted this morning to a CPU bug resulting in crashes for Intel Geminilake processors. At least Chrome and Firefox are affected but sounds like other software may be affected too, just that Google has enough engineering resources for investigating the issue.
Google's Chrome team have been receiving "many "impossible" crashes on Intel Gemini Lake, Family 6 Model 122 Stepping 1 CPUs" in recent months. These crashes happen with 64-bit Chrome and span multiple versions of Chrome.
The Chrome team themselves have had difficulty reproducing the crashes but have received enough Gemini Lake reports that they added a workaround in Chrome. From the bug reports, they determined a pattern for the crashes and that it involves reading incorrect instruction bytes when crossing select 16-byte boundaries.
The software workaround is forcing two function's alignment to be on 32-byte alignment and seems to be enough to make Chrome no longer crash on Gemini Lake processors. The issue is being tracked via this bug report since May. while the V8 code change using "__attribute__((__aligned__(32)))" was merged in September.
Firefox was also tracking the same problem with various bug reports from crashes on Gemini Lake. From that bug report the issue appears to have been introduced by a CPU microcode update. On the Firefox side they don't appear to have taken any intentional action for addressing the issue.
For those potentially hitting this issue in other software on Gemini Lake software, switching to 32-bit versions of the affected software is the easiest workaround -- assuming your distribution offers up said 32-bit packages.
Gemini Lake is the successor to the Apollo Lake SOC and consist of various Celeron / Pentium Silver products since 2017 in various low-power devices.
Google's Chrome team have been receiving "many "impossible" crashes on Intel Gemini Lake, Family 6 Model 122 Stepping 1 CPUs" in recent months. These crashes happen with 64-bit Chrome and span multiple versions of Chrome.
The Chrome team themselves have had difficulty reproducing the crashes but have received enough Gemini Lake reports that they added a workaround in Chrome. From the bug reports, they determined a pattern for the crashes and that it involves reading incorrect instruction bytes when crossing select 16-byte boundaries.
The software workaround is forcing two function's alignment to be on 32-byte alignment and seems to be enough to make Chrome no longer crash on Gemini Lake processors. The issue is being tracked via this bug report since May. while the V8 code change using "__attribute__((__aligned__(32)))" was merged in September.
Firefox was also tracking the same problem with various bug reports from crashes on Gemini Lake. From that bug report the issue appears to have been introduced by a CPU microcode update. On the Firefox side they don't appear to have taken any intentional action for addressing the issue.
For those potentially hitting this issue in other software on Gemini Lake software, switching to 32-bit versions of the affected software is the easiest workaround -- assuming your distribution offers up said 32-bit packages.
Gemini Lake is the successor to the Apollo Lake SOC and consist of various Celeron / Pentium Silver products since 2017 in various low-power devices.
33 Comments