我使用 Linux Mint MATE 版本有一段时间了,但遇到了奇怪的冻结问题。今天,它切换到终端式输出,并在它死掉之前给了我一些实际信息。我拍了一张照片,见下文(在新选项卡中打开它以放大并阅读文本)。
我能看到的唯一“线索”是一行字:
BUG: scheduling while atomic: swapper/0/0/0x10010000
但是,据我所知,我在这里只看到了堆栈跟踪的底部,而实际问题则更进一步。
问题:a)任何人都可以看看照片中是否有任何东西可以提供有关出了什么问题的线索吗? b)此跟踪中的内容是否可能位于日志文件中的某处,以便我可以正确查看它?
答案1
这个差不多意思就是它所说的:
BUG: scheduling while atomic
内核是多线程的,并且内核 API 具有多种机制来锁定对资源的访问,其方式类似于用户空间 API(例如 pthreads)。它们的使用有一些规则,如果违反规则,就会产生问题。也就是说,有人确实这样做了,可能是在一个模块中。
我认为这不一定会导致内核或系统瘫痪——错误显然已被捕获——但是,它会导致模块瘫痪,从而可能导致系统瘫痪。
您需要提交一份官方错误报告。对于某些软件,您应该从“下游”开始,即从发行版开始,但是尽管发行版确实对内核进行了一些修补,但这不太可能是他们的错,因此您不妨从“上游”(内核开发人员)开始链接。您必须创建一个帐户,这是免费且简单的。然后你想尝试通过搜索站点来确定之前是否已报告过该错误(不要使用主页上的搜索栏,点击即可搜索页面)。从我的角度来看,除了你的照片之外没有什么可继续的,所以我搜索了“BUG:scheduling whileatomic:swapper/0/0/0x10010000”并得到了这个点击列表。也许有什么东西让你想起,也许没有。您有更多详细信息,因此应该能够优化搜索。
如果您认为您找到了重复的内容,请阅读它并添加评论以报告您的体验。您应该尝试在照片中包含日志的副本,但最好不是日志本身 - 几乎肯定也去了/var/log/syslog
或类似的地方,所以:
grep 'BUG: scheduling while atomic: swapper/0/0/0x10010000' /var/log/*
如果您以前遇到过这个问题或类似的问题,那么它可能不止一次出现,每个事件看起来都很相似。将一两个内容复制/粘贴到文本文件中,并将其附加到错误报告中(可以是现有的报告,也可以创建一个新的报告并解释发生了什么)。
他们会在不确定的时间内回复您(但可能不会太长)。