diff -u: 自动化 Bug 报告
Bug 报告是好的。任何有可重现崩溃的人都应该在 linux-kernel 邮件列表上提交 bug 报告。开发人员会感谢您,您将帮助改进 Linux!
各种自动化 bug 猎手正在四处报告 bug。其中之一是 Syzbot,一个专门用于查找 Linux 中的 bug 并报告它们的开源工具。 Dmitry Vyukov 最近发送了一封精心制作的电子邮件,请求社区帮助使 Syzbot 更加有效。
主要问题是如何在 Syzbot 报告 bug 后跟踪这些 bug,以及如何判断何时将补丁应用于内核以解决给定的 bug。
事实证明,Andrey Ryabinin 和 Linus Torvalds 合作,为 Dmitry 的问题提供了一个简单的解决方案:Syzbot 应该在其电子邮件地址中包含一个唯一的标识符。 想法是,电子邮件地址中“+”号后面的任何内容都会被完全忽略。 因此 zbrown@gmail.com 与 zbrown+stoptrump@gmail.com 完全相同。 Andrey 和 Linus 建议 Syzbot 使用这种技术来包含与每个 bug 报告关联的哈希值。 然后,Linux 开发人员会将该电子邮件地址包含在他们提交的补丁程序的“Reported-By”部分中,作为正常开发过程的一部分。
太棒了! 唯一的哈希值将跟随补丁程序进行每次迭代。
其他人对 Syzbot 提出了更多反馈。 Eric Biggers 希望看到一个面向公众的用户界面,以便开发人员可以检查 bug 的状态,诊断哪些内核版本受到影响等等。 事实证明,Dmitry 正在努力完成这样一件事情,尽管他需要更多的时间才能为公众所接受。
而且,Eric W. Biederman 对 Syzbot 的几个缺陷感到非常不满。 一方面,他认为 Syzbot 在解释如何重现给定的 bug 方面做得不够好。 它只是报告了问题,然后继续前进。 此外,Eric 不喜欢 Syzbot 中 Go 语言的使用,他说 Go 语言以一种复杂的方式处理线程,使得以简单的方式与内核交互变得困难。
但 Dmitry 向 Eric 保证,Syzbot 的重要部分是用 C++ 编写的,而使用 Go 语言的部分没有用于内核交互。 Dmitry 还指出,Syzbot 尽可能地提供了有关如何重现崩溃的信息,但并非总是可能,并且在很多情况下,这些 bug 非常简单,甚至没有必要重现它们。
事实上,真的没有太多讨论。 Dmitry 最初的问题很快就解决了,而且 Syzbot 及其后端软件似乎正在积极开发中。