谷歌将一个字符的错别字推向生产,使 Chrome OS 设备变砖

2021-07-23 01:38:27

谷歌表示,它已经修复了一个主要的 Chrome 操作系统错误,该错误将用户锁定在他们的设备之外。谷歌的公告称,本周短暂推出的 Chrome OS 版本 91.0.4472.165 将导致用户无法登录他们的设备,实质上是让他们变砖。 Chrome OS 会在重新启动后自动下载更新并切换到新版本,因此用户可能会在某一天重新启动时突然被锁定在他们的设备之外。当这个损坏的更新出现时,建议不要重新启动。该公告称,新版本 91.0.4472.167 现已推出以解决该问题,但可能需要“几天”才能影响到所有人。受错误更新影响的用户可以等待设备再次更新或“强力清洗”他们的设备(即擦除所有本地数据)以再次登录。如果你不做一些高级的事情,比如运行 Linux 应用程序,Chrome OS 主要是基于云的,所以这个解决方案比其他操作系统带来的不便要少。尽管如此,仍有一些用户抱怨数据丢失。 ChromeOS 是开源的,因此我们可以获得更多关于修复的详细信息,这要归功于 Android Police 搜索了用户 elitist_ferret 的 Reddit 评论。问题显然归结为单字符错字。谷歌在 Chrome 操作系统的 Cryptohome VaultKeyset 中错误地声明了一个条件语句,这是操作系统中保存用户加密密钥的部分。该行应为“if (key_data_.has_value() && !key_data_->label().empty()) {”但不是“&&”——只是“AND”运算符的C++版本——错误的更新使用了单个&符号,打破了该条件语句的后半部分。听起来,由于此错误,Chrome 操作系统从未根据存储的密钥正确检查用户密码,因此即使是正确的密码也会返回一条消息,说“抱歉,无法验证您的密码。” Chrome OS 的整个卖点是它可靠且牢不可破,像这样的拙劣更新真的伤害了操作系统。目前尚不清楚像这样一个如此明显的、令人眼花缭乱的问题是如何进入稳定发布渠道的。 Chrome OS 有三个测试渠道,更改应该通过“金丝雀”、“开发”和“测试版”渠道——在发布之间进行数周的测试。不知何故,这个错误逃脱了整个过程。这似乎也是单元测试或自动化测试可能会发现的问题——无法登录是很明显的。此错误标志着本月推出的第二个有缺陷的 Chrome 操作系统更新。 7 月初的更新使某些型号的 CPU 使用率飙升,使它们慢下来。