开启辅助访问 切换到窄版

打印 上一主题 下一主题

LinusTorvalds修复了“双重不良”的Linux内核错误

[复制链接]
作者:heavenyin1324 
版块:
嵌入式操作系统 linux 发布时间:2021-3-12 00:34:05
9960
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原文:http://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'。"

最麻烦的是,有些人已经习惯了rc1大部分是可靠的,以至于他们对自己说:"'好吧,rc1已经出来了,我把我所有的开发工作都放到了这个合并窗口里,我现在就快进到rc1,然后把它作为下一个版本的基础。这个时候不要这样做。它可能对你来说非常适合,因为你有共同的分区设置,但对其他人来说,它最终可能是一个可怕的基础。"
事实证明,英特尔的情况就是这样。英特尔一直在其图形持续集成(CI)系统中使用RC1。结果是什么?em.....毁掉的文件系统.....现在,为了修复这一切,Torvalds已经提前推送了下一个版本的源代码,Linux 5.12-rc2。这主要是因为交换问题。往后一切应该都会好起来。
但请将此作为一个合理的警告。候选版本就是一个候选版本!你不应该在生产系统上使用它!Linux rc 出问题的情况非常少见,但是正如这个案例所显示的那样,它还是有可能发生!~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表