kworker 阻塞超过 120 秒 Ubuntu 17.10

kworker 阻塞超过 120 秒 Ubuntu 17.10

我决定将我的 Thinkpad 升级到 17.10。

现在,每次我尝试通过控制台或菜单关闭它)或重新启动它时,都需要很长时间。

TTY 给我提供了与 相关的几个错误hung_task_timeout_secs,从 到kworker一直networkmanagerwpa_supplicant

我尝试使用不同的 ISO(2 天前的每日构建版、beta2 以及今天的 rc 版)重新安装,但每次仍然出现相同的错误。

知道是什么原因导致这个问题吗?目前我在另外两台不同的 PC 上运行 17.10,没有任何问题。

编辑:deborphan 没有返回任何孤立包。不过我想我可能发现了一些东西。我决定彻底清除光盘,包括我的双启动窗口。重新安装后,一切正常。今天在大学里,问题又出现了。

现在有趣的部分是:我认为这与我的 wifi 有关。在家里,安装期间和安装后,我通过电缆插入它,没有任何问题。但在大学里只有 wifi 时,它又出现了。所以我试了一下,在家里再次插入电缆,它又能用了。拔掉电缆,重新启动,问题又出现了。Wifi-Card 是 Qualcomm Atheros。

答案1

似乎是与无线驱动程序和请求者相关的内核问题。我昨天升级到了 17.10,遇到了完全相同的问题。删除孤立包没有帮助。

查看dmesg输出后,我意识到它与内核有关(4.13.0-16-generic),并决定使用较早的稳定版本(4.10.0-37-generic)。现在一切正常。希望这能有所帮助。

笔记:以下是dmesg输出:

wpa_supplicant[1488]: wlp1s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
 kernel: [  363.484267] INFO: task kworker/u8:1:51 blocked for more than 120 seconds.
 kernel: [  363.484281]       Tainted: G           OE   4.13.0-16-generic #19-Ubuntu
 kernel: [  363.484285] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 kernel: [  363.484290] kworker/u8:1    D    0    51      2 0x00000000
 kernel: [  363.484359] Workqueue: phy0 ieee80211_ba_session_work [mac80211]
 kernel: [  363.484363] Call Trace:
 kernel: [  363.484380]  __schedule+0x28b/0x890
 kernel: [  363.484388]  schedule+0x36/0x80
 kernel: [  363.484396]  schedule_preempt_disabled+0xe/0x10
 kernel: [  363.484404]  __mutex_lock.isra.2+0x190/0x4e0
 kernel: [  363.484414]  __mutex_lock_slowpath+0x13/0x20
 kernel: [  363.484421]  ? __mutex_lock_slowpath+0x13/0x20
 kernel: [  363.484428]  mutex_lock+0x2f/0x40
 kernel: [  363.484472]  __ieee80211_start_rx_ba_session+0x1b7/0x5a0 [mac80211]
 kernel: [  363.484479]  ? dequeue_entity+0xed/0x4b0
 kernel: [  363.484516]  ieee80211_ba_session_work+0x164/0x250 [mac80211]
 kernel: [  363.484526]  process_one_work+0x1e7/0x410
 kernel: [  363.484532]  worker_thread+0x4a/0x410
 kernel: [  363.484537]  kthread+0x125/0x140
 kernel: [  363.484543]  ? process_one_work+0x410/0x410
 kernel: [  363.484548]  ? kthread_create_on_node+0x70/0x70
 kernel: [  363.484554]  ret_from_fork+0x25/0x30

答案2

或许Launchpad 上的这个错误。承诺将在“下一个 Artful 内核版本”中修复该问题。

答案3

好的,下面是针对该问题的替代解决方案,但重点是Kubuntu 20.04 LTS。(注意,这最初发布在 Archlinux 论坛上。)看起来存在许多不同的原因,导致相同的错误消息。

我在很久以前就遇到过这个问题苹果iMac5,1电脑。在我看来,GLX 接口存在问题,尤其是与较旧的 Radeon GPU 型号结合使用时。这会导致高“系统负载”,然后阻塞整个 KDE 环境(X Window 系统)2 分钟。通常这种情况发生在登录后,此时会显示有关 WiFi 状态的“通知消息”。

解决方案是将整个 KWin 合成从OpenGL / GLXOpenGL ES/EGL. 为此,必须编辑相应的配置文件。

我添加了以下行:

export KWIN_COMPOSE=O2ES

到以下文件:

sudo nano /etc/profile.d/kwin.sh

结果真是太棒了!几乎所有东西都运行得更好了!几乎所有 UI 行为部分的性能都有明显的改进。有趣的是,Firefox 也运行得更顺畅,在我的情况下,它也使用了基于 Webrender 的软件,太棒了!:-)

对我来说,无法理解为什么 OpenGL ES / EGL 合成选项不是默认选项。至少对我来说,它比标准 OpenGL / GLX 变体运行得好得多。有人应该告诉 KDE 或 Kubuntu 开发人员!;-)

相关内容