本文来自微信公众号“InfoQ”(ID:infoqchina),作者:燕珊,36氪经授权发布。
不知道这几天 Google 对于检查拼写的重要性,是否有了新的认识呢?
近日,Google 在短暂上线了一版 Chrome OS 更新后又迅速将其撤掉,原因是某行代码里少打的一个 & 字符导致系统无法解密登录信息,大量用户也因此被锁在了系统之外。虽然官方已推出修复更新,但不少人都遭受了损失。
自从 Google 推出了 Chrome OS 91,就因为各种 Bug 没少折腾。据 Android Police 报道,继此前有不少用户宣称设备在升级到 91.0.4472.147 后导致 CPU 占用率太高、Google 取消更新并让所有人回滚到 91.0.4472.114 却引发用户无法安装 Linux 的问题之后,近日 91.0.4772.165 的到来让用户陷入了更糟糕的境地。
ChromeOS subreddit 的一位版主最近透露这个新的 Chrome OS 更新存在严重 Bug,该更新将用户锁在他们的 Chromebook 之外,用户根本没法正常使用。
一位 Reddit 用户报告说,他们的两台 Chromebook 登录界面不再接受他们的密码——有一台笔记本电脑陷入开机循环,而另一部 Asus Chromebook C436,即使采用 Powerwash(Chromebook 上存储的所有本地用户数据都可以通过重设为原始出厂状态清除)措施也无法挽救,最终他们不得不动用 U 盘来让系统恢复到可用的状态。
总而言之,这个有问题的 91.0.4772.165 版本更新导致大量用户重要文件丢失,很多用户对此感到愤怒。
我们无法确定这个错误是如何通过了三个开发者版本并进入稳定版本的。这次整个事件凸显了 Google 对其 Chrome OS 版本缺乏质量控制的问题。
在破坏了一堆 Chromebook 之后,谷歌最终撤回了 91.0.4472.165 版本,将 Chrome 设备回滚到 91.0.4472.147。谷歌事后澄清说,该团队已经确定了问题,并将于 7 月 21 日发布修复程序。而对于担心丢失数据的受影响用户来说,若能等到当天设备自动更新,就能够再次登录而无需进行 Powerwash。
所以到底发生了什么事?多亏了 Reddit 上一位眼尖的用户,我们才知道一个非常简单的拼写错误似乎就是导致如此多用户无法使用 Chromebook 的原因。通过查看两版更新代码文件中的差异,我们可以看到是由于 Google 忘记在条件语句中添加第二个“&”,导致 Chrome OS 无法解密登录信息(登录时需要)。
C++ 中的“AND”运算符正确写法是“&&”,但出现 Bug 的版本中只写了单个“&”。
对于用户而言,虽然定期创建重要文件的备份是有必要的,但 Chromebook 也不应该以这种方式“强迫”用户删除本地文件,这对于 Google 来说是个应该反思的问题。目前,Google 已推出修复程序,Chrome OS 91.0.4772.167 现在可以在更新的服务器上使用。使用新版本,Chrome OS 能够解密用户帐户和进行登录,从而允许访问重要文件。
即使是今天的 Google,也无法避免像错字这种低级 Bug 的出现。京东技术专家胡蜂曾总结道,人人都会犯粗心大意的错误,因为这就是 “人” 这个系统的普遍固有缺陷(Bug)之一。所以,作为人的程序员一定会犯一些非常低级的、因为粗心大意而导致的 Bug。这就好比写文章、写书都会有错别字,即使经历过三审三校后正式出版的书籍,都无法完全避免错别字的存在。而程序中也有这类 “错别字” 类型的低级错误,比如:条件 if 后面没有大括号导致的语义变化,==、= 和 === 的数量差别,++ 或 -- 的位置,甚至 ; 的有无在某些编程语言中带来的语义差别。即使通过反复检查也可能有遗漏,而自己检查自己的代码会更难发现这些缺陷,这和自己不容易发现自己的错别字是一个道理。
参考链接:
https://www.androidpolice.com/2021/07/20/a-new-chrome-os-91-update-is-breaking-chromebooks-like-a-bull-in-a-china-shop/
相关推荐
谷歌开发团队犯低级错误?因一个字符拼写Bug,Chromebook用户被锁在系统之外
比尔·盖茨:我犯下了一个4000亿美元的错误
这2类错误,创业者最容易犯
想顺利拿到融资?这7个错误千万别犯
一个CEO的血泪教训:创业七年,我犯过的那些错误
小米回应设备被谷歌禁用:已修复Bug 国内用户不受影响
创业者在融资过程中不能犯的7个错误
iPhone必崩溃bug曝光,这个WiFi水太深谁也把握不住
iOS 又出重大Bug:一秒搞崩 iPhone 的网络连接功能
C 和 C++ 不安全?Android 支持 Rust 开发操作系统
网址: 谷歌开发团队犯低级错误?因一个字符拼写Bug,Chromebook用户被锁在系统之外 http://m.xishuta.com/newsview47466.html