在过去的几天里,我的 Debian 安装每隔 5-30 分钟就会随机挂起一次。屏幕冻结。有时 GDM 会在一段时间后将我踢回登录屏幕。其他时候它只是完全冻结。它是在我几周内第一次进行分布式升级(包括升级到 Gnome 3.20)之后开始的。
这是我在系统日志中发现的内容,每次都会出现一组类似的消息:
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) [mi] EQ overflowing. Additional events will be discarded until existing events are processed.
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE)
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) Backtrace:
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 0: /usr/lib/xorg/Xorg (xorg_backtrace+0x4e) [0x55fd88968f6e]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 1: /usr/lib/xorg/Xorg (mieqEnqueue+0x253) [0x55fd8894aa33]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 2: /usr/lib/xorg/Xorg (QueuePointerEvents+0x52) [0x55fd88823632]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 3: /usr/lib/xorg/Xorg (xf86PostMotionEvent+0xd6) [0x55fd8885a956]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 4: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f0fbb634000+0x5f89) [0x7f0fbb639f$
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 5: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f0fbb634000+0x7532) [0x7f0fbb63b5$
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 6: /usr/lib/xorg/Xorg (0x55fd887b7000+0x940f8) [0x55fd8884b0f8]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 7: /usr/lib/xorg/Xorg (0x55fd887b7000+0xb9392) [0x55fd88870392]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 8: /lib/x86_64-linux-gnu/libc.so.6 (0x7f0fc3a6d000+0x334e0) [0x7f0fc3aa04e0]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 9: /lib/x86_64-linux-gnu/libc.so.6 (ioctl+0x5) [0x7f0fc3b4e4f5]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 10: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f0fbf3ef000+0x24f5d) [0x7f0fbf413f$
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 11: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f0fbf3ef000+0x28904) [0x7f0fbf4179$
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 12: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f0fbf3ef000+0x5c3ee) [0x7f0fbf44b3$
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 13: /usr/lib/xorg/Xorg (BlockHandler+0x4a) [0x55fd8880f5ba]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 14: /usr/lib/xorg/Xorg (WaitForSomething+0x163) [0x55fd88965c33]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 15: /usr/lib/xorg/Xorg (0x55fd887b7000+0x53a1e) [0x55fd8880aa1e]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 16: /usr/lib/xorg/Xorg (0x55fd887b7000+0x57c03) [0x55fd8880ec03]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 17: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf0) [0x7f0fc3a8d5f0]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) 18: /usr/lib/xorg/Xorg (_start+0x29) [0x55fd887f8f99]
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE)
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) [mi] mieq is *NOT* the cause. It is a victim.
Jun 17 11:18:10 piglet kernel: [ 1087.627729] [drm] stuck on render ring
Jun 17 11:18:10 piglet kernel: [ 1087.634979] [drm] GPU HANG: ecode 8:0:0xfffffffe, in Xorg [1162], reason: Ring hung, action: reset
Jun 17 11:18:10 piglet kernel: [ 1087.634995] [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
Jun 17 11:18:10 piglet kernel: [ 1087.635004] [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
Jun 17 11:18:10 piglet kernel: [ 1087.635012] [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
Jun 17 11:18:10 piglet kernel: [ 1087.635019] [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
Jun 17 11:18:10 piglet kernel: [ 1087.635029] [drm] GPU crash dump saved to /sys/class/drm/card0/error
Jun 17 11:18:10 piglet kernel: [ 1087.641887] drm/i915: Resetting chip after gpu hang
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: [mi] Increasing EQ size to 1024 to prevent dropped events.
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: [mi] EQ processing has resumed after 37 dropped events.
Jun 17 11:18:10 piglet /usr/lib/gdm3/gdm-x-session[1160]: [mi] This may be caused by a misbehaving driver monopolizing the server's resources.
Jun 17 11:18:13 piglet pulseaudio[916]: [pulseaudio] sink-input.c: Failed to create sink input: sink is suspended.
Jun 17 11:18:18 piglet kernel: [ 1095.635999] [drm] stuck on render ring
Jun 17 11:18:18 piglet kernel: [ 1095.642984] [drm] GPU HANG: ecode 8:0:0xfffffffe, in Xorg [1162], reason: Ring hung, action: reset
Jun 17 11:18:18 piglet kernel: [ 1095.643414] [drm:i915_set_reset_status [i915]] *ERROR* gpu hanging too fast, banning!
Jun 17 11:18:18 piglet kernel: [ 1095.646268] drm/i915: Resetting chip after gpu hang
Jun 17 11:18:18 piglet /usr/lib/gdm3/gdm-x-session[1160]: (EE) intel(0): Failed to submit rendering commands (Input/output error), disabling acceleration.
我的系统在 Debian Stretch 上是完全最新的。
我该如何阻止这种情况?我可以从 Intel i915 驱动程序切换驱动程序吗?或者禁用 DRM 或 grub 配置中的其他一些元素?
答案1
日志告诉您应该采取什么措施:
GPU 挂起可能表明整个 gfx 堆栈中的任何位置(包括用户空间)中存在错误。
请提交一份新的bugs.freedesktop.org 上针对 DRI 的错误报告 -> DRM/Intel drm/i915 如果不是内核问题,开发人员可以重新分配到正确的组件。
分析 GPU 挂起需要 GPU 故障转储,因此请始终附加它。 GPU 故障转储保存到
/sys/class/drm/card0/error
这不会立即解决您的问题(除非它是一个已知的错误,并且已经在某处修复),但它将帮助它得到修复;开发商i915
的反应相当激烈。