为什么内核错误会污染并禁止使用 ABRT 进行报告?

为什么内核错误会污染并禁止使用 ABRT 进行报告?

我在笔记本电脑上新安装了 Fedora 28。启动时,我收到一个内核错误,我非常想报告。然而,ABRT 认为内核受到了标志的污染GW,因此拒绝报告它。如果我看一下abrt 文档,它的W意思是“内核先前已发出警告”。而G告诉我只加载与 GPL 兼容的模块(正如预期的那样,我自己没有安装任何内核模块)。

但这到底是什么意思呢?内核是否向 bugzilla 发出了警告?这条消息确实不能帮助我理解为什么新安装的 Linux 会给我留下一个我无法报告的错误......

cat /proc/sys/kernel/tainted也只给出值 512,即根据系统文件

那么我如何才能查明到底发生了什么以及为什么我不允许向 ABRT 报告?

编辑: 根据这条评论来自2012年在 RedHat Bugzilla 上

'w' 表示警告已经发生。我们只关心第一个,abrt 应该已经提交了。

因此,我在受污染的报告中寻找任何内容,以找出 ABRT 报告“第一个”的位置(如果有的话),并发现这份关于 FAF 的报告——但是,内核也被标记为“受污染”,因此该报告可能不会被考虑修复,我仍然不知道为什么。

答案1

问题可能是abrtd启动太晚而无法捕获启动时发生的 oops。当 oops 发生时,它会导致设置 W 污点标志,并且当 abrtd 启动时,它会看到 W 标志,并且无法确定它找到的 oops 是否是第一个。

如果在 abrtd 看到的 oop 之前有另一个 oop,则报告可见的 oop 可能毫无意义,因为它可能只是导致第一个 oop 的原因所致。您可能知道没有 oop,但 abrtd 无法自动做出这一判断。

因此,您可能必须手动报告启动时错误,特别是如果它发生在启动过程的早期。

内核本身不会向任何 bugzilla 报告任何内容; W 污点标志仅意味着内核已记录一个或多个 oops 消息。

相关内容