原文:https://reurl.cc/7yKX1k
翻译:Linux就该这么学
对于家住在俄勒冈州波特兰的Linux创造者Linus Torvalds来说,这是不同寻常的一周。一场暴风雪让 Torvalds 家的电力中断了大半个星期。尽管如此,Torvalds还是把最新的Linux内核5.12的第一个候选发布版送了出去。事实证明,这是一个真正的错误。这个版本,本来只是给那些测试Linux内核bug的人准备的,结果该发行版具有长期存在的bug,会破坏测试系统。万幸的是现在已经被修复了。
正如Torvalds在Linux内核邮件列表(LKML)上所解释的那样,所发生的事情是一个 "双重不良 "的错误,它可能会毁掉一台计算机的文件系统。
Torvalds说,这个错误于 "一个非常无害的代码清理和简化,根本没有引起任何危险信号,但它有一个微妙的且非常讨厌的错误:当您运行候选发布代码并且内存不足时,您的计算机将执行应做的工作并将空闲数据和程序写入交换文件。到目前为止,一切都很好。每天第二天在繁忙的Linux系统上都会发生这种情况。但是,在这里,不是将数据安全地写入交换文件,而是将数据写入现有文件的顶部。因此,有了这个错误,你的计算机可能很快就会完全停止运转。
正如Torvalds所说的那样,"你最终可能会得到一个基本上被随机交换数据覆盖的文件系统。这就是我们业内所说的'双重不良'。这确实不是一个很明显的bug,甚至在正常测试中都没有出现,正是因为swapfiles就是不正常。所以我并没有责怪相关的开发人员,也不是因为合并窗口的奇怪时间,只是单纯的一个异常讨厌的bug。"
Linux的主要开发者希望每个人都知道这个错误,因为“虽然rc1往往比后来的rc更容易出bug,但我们所有人都已经习惯了,不过老实说,大多数时候的bug都比这次的麻烦小得多。这些年来,我们的大部分rc1版本都非常稳固,以至于人们可能已经忘记了'是啊,这都是新代码,里面可能会有讨厌的bug'。"