发现和识别 Skylake 的 bug
上周末,Debian 开发者在邮件列表上向用户发出警告,英特尔第六代和第七代 Core 处理器(Skylake/Kaby Lake)在启用超线程时发现存在一个处理器 / 微码缺陷。但该 bug 的影响究竟有多大?Ahrefs 的 Joris Giovannangeli 在博客上描述了他们遭遇该 bug 的经过。
2016 年底,该公司后端开发者团队部分成员开始使用新的笔记本电脑,工程师 Enguerrand Decorne 几天后在机器上编译 OCaml 时遭遇了不同寻常的崩溃。这个问题一开始只影响 Enguerrand 的机器,所以他们认为可能是这台机器的系统配置问题。但随后他们对该问题的担忧加重了,使用 Skylake Xeon 处理器的服务器集群在部署一个服务后,被发现向储存系统插入了破坏的数据。开发者开始收集更多的信息,并且在其它机器上复现了同样的问题。他们开始诊断问题的根源。他们猜测问题与虚拟机软件 VMware 有关,于是切换到 Virtualbox,但崩溃继续发生。在物理机器上遭遇同样问题上,他们排除了虚拟机软件 bug 的可能性。经过漫长的搜寻之后,在注意到所有发生崩溃的机器都使用 Skylake 家族处理器之后,在发现 Debian 上的 Skylake 微码更新通知后,他们最终确认它是一个处理器 bug。
2016 年底,该公司后端开发者团队部分成员开始使用新的笔记本电脑,工程师 Enguerrand Decorne 几天后在机器上编译 OCaml 时遭遇了不同寻常的崩溃。这个问题一开始只影响 Enguerrand 的机器,所以他们认为可能是这台机器的系统配置问题。但随后他们对该问题的担忧加重了,使用 Skylake Xeon 处理器的服务器集群在部署一个服务后,被发现向储存系统插入了破坏的数据。开发者开始收集更多的信息,并且在其它机器上复现了同样的问题。他们开始诊断问题的根源。他们猜测问题与虚拟机软件 VMware 有关,于是切换到 Virtualbox,但崩溃继续发生。在物理机器上遭遇同样问题上,他们排除了虚拟机软件 bug 的可能性。经过漫长的搜寻之后,在注意到所有发生崩溃的机器都使用 Skylake 家族处理器之后,在发现 Debian 上的 Skylake 微码更新通知后,他们最终确认它是一个处理器 bug。