Xorg freezes due to kernel hung task in the i915 driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
This bug is present in 18.04 and is triggered by specific actions, in particular, paging through image galleries in Eye of Gnome. When the bug is triggered, Xorg freezes completely and goes into the D (uninterruptible sleep) state. The machine continues to respond to ping and ssh. When triggering a shutdown or reboot over ssh, the shutdown process continues normally until most userspace processes (including systemd-journald) have been stopped, but then hangs. The system can still be rebooted with the magic sysrq technique.
Here's some dmesg output:
[ 0.000000] Linux version 4.15.0-45-generic (buildd@
[ 0.000000] Command line: BOOT_IMAGE=
###
# This error happens regularly and may be irrelevant:
###
[ 345.680936] ------------[ cut here ]------------
[ 345.680938] Failed to release pages: bind_count=1, pages_pin_count=1, pin_global=0
[ 345.680998] WARNING: CPU: 1 PID: 241 at /build/
[ 345.680999] Modules linked in: zfs(PO) zunicode(PO) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) nls_iso8859_1 xt_hl ip6t_rt intel_rapl x86_pkg_
[ 345.681028] scsi_transport_
[ 345.681059] CPU: 1 PID: 241 Comm: kworker/u8:5 Tainted: P O 4.15.0-45-generic #48-Ubuntu
[ 345.681059] Hardware name: System manufacturer System Product Name/PRIME B250M-C, BIOS 1402 11/16/2018
[ 345.681081] Workqueue: i915-userptr-
[ 345.681096] RIP: 0010:cancel_
[ 345.681097] RSP: 0018:ffffafc441
[ 345.681098] RAX: 0000000000000000 RBX: ffff8fb681b17600 RCX: 0000000000000006
[ 345.681099] RDX: 0000000000000007 RSI: 0000000000000082 RDI: ffff8fb6b6c96490
[ 345.681100] RBP: ffffafc441edbe78 R08: 0000000000000001 R09: 00000000000003c4
[ 345.681101] R10: ffffe28d5018ef80 R11: 0000000000000000 R12: ffff8fb681b177a8
[ 345.681101] R13: 0000000000000000 R14: ffff8fb698eba500 R15: 0000000000000000
[ 345.681102] FS: 000000000000000
[ 345.681103] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 345.681104] CR2: 00007f18205d3857 CR3: 0000000022e0a002 CR4: 00000000003606e0
[ 345.681105] Call Trace:
[ 345.681110] process_
[ 345.681111] worker_
[ 345.681113] kthread+0x121/0x140
[ 345.681115] ? process_
[ 345.681116] ? kthread_
[ 345.681119] ret_from_
[ 345.681120] Code: bf 46 ff ff eb c9 8b 93 c8 01 00 00 8b 8b a4 01 00 00 48 c7 c7 40 44 7a c0 8b b3 9c 01 00 00 c6 05 b5 56 10 00 01 e8 e8 2a fc fa <0f> 0b eb bc 0f 1f 40 00 0f 1f 44 00 00 55 ba 08 00 00 00 48 89
[ 345.681144] ---[ end trace f92d63918dad1269 ]---
###
# This is the hang. 2 minutes before this happened, X became completely unresponsive and
# went into the D (uninterruptible sleep) state. The machine still responded to ping and ssh.
###
[110684.322375] INFO: task Xorg:13866 blocked for more than 120 seconds.
[110684.322384] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110684.322388] "echo 0 > /proc/sys/
[110684.322393] Xorg D 0 13866 13865 0x00000004
[110684.322399] Call Trace:
[110684.322411] __schedule+
[110684.322420] ? resched_
[110684.322426] schedule+0x2c/0x80
[110684.322431] schedule_
[110684.322436] ? check_preempt_
[110684.322439] ? ttwu_do_
[110684.322445] wait_for_
[110684.322449] ? wake_up_q+0x80/0x80
[110684.322455] flush_workqueue
[110684.322459] ? wake_up_
[110684.322531] i915_gem_
[110684.322588] ? i915_gem_
[110684.322597] __mmu_notifier_
[110684.322603] try_to_
[110684.322609] rmap_walk_
[110684.322613] rmap_walk+0x41/0x60
[110684.322617] try_to_
[110684.322621] ? page_remove_
[110684.322629] ? page_not_
[110684.322633] ? page_get_
[110684.322640] migrate_
[110684.322646] ? __ClearPageMova
[110684.322652] ? isolate_
[110684.322659] compact_
[110684.322666] compact_
[110684.322674] try_to_
[110684.322680] ? try_to_
[110684.322686] __alloc_
[110684.322692] __alloc_
[110684.322699] ? __enqueue_
[110684.322706] ? enqueue_
[110684.322712] __alloc_
[110684.322718] kmalloc_
[110684.322722] __kmalloc_
[110684.322727] ? ___slab_
[110684.322733] kvmalloc_
[110684.322783] i915_gem_
[110684.322832] ____i915_
[110684.322878] __i915_
[110684.322928] __i915_
[110684.322974] eb_lookup_
[110684.322981] ? __pm_runtime_
[110684.323025] i915_gem_
[110684.323035] ? __radix_
[110684.323040] ? _cond_resched+
[110684.323045] ? kmem_cache_
[110684.323081] ? drm_vma_
[110684.323108] ? drm_vma_
[110684.323156] i915_gem_
[110684.323205] ? i915_gem_
[110684.323248] ? i915_gem_
[110684.323272] drm_ioctl_
[110684.323295] drm_ioctl+
[110684.323337] ? i915_gem_
[110684.323346] ? __switch_
[110684.323351] ? __switch_
[110684.323356] ? __switch_
[110684.323362] ? __switch_
[110684.323367] ? __switch_
[110684.323372] ? __switch_
[110684.323377] ? __switch_
[110684.323385] do_vfs_
[110684.323390] ? __schedule+
[110684.323397] SyS_ioctl+0x79/0x90
[110684.323404] do_syscall_
[110684.323410] entry_SYSCALL_
[110684.323415] RIP: 0033:0x7f3f418a55d7
[110684.323418] RSP: 002b:00007fff9f
[110684.323423] RAX: ffffffffffffffda RBX: 00007f3f4440b000 RCX: 00007f3f418a55d7
[110684.323426] RDX: 00007fff9fa5fce0 RSI: 0000000040406469 RDI: 000000000000000b
[110684.323428] RBP: 000000000000000b R08: 0000000000003a80 R09: 0000000000000000
[110684.323431] R10: ff000000ff000000 R11: 0000000000000246 R12: 00007fff9fa5fce0
[110684.323433] R13: 0000000000000040 R14: 0000000000000010 R15: 0000000000000000
[110684.323473] INFO: task kworker/u8:3:26372 blocked for more than 120 seconds.
[110684.323479] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110684.323483] "echo 0 > /proc/sys/
[110684.323487] kworker/u8:3 D 0 26372 2 0x80000000
[110684.323542] Workqueue: i915-userptr-
[110684.323544] Call Trace:
[110684.323551] __schedule+
[110684.323557] ? krealloc+0x70/0xd0
[110684.323562] schedule+0x2c/0x80
[110684.323567] schedule_
[110684.323572] __mutex_
[110684.323579] __mutex_
[110684.323583] ? __mutex_
[110684.323588] mutex_lock+
[110684.323632] cancel_
[110684.323638] process_
[110684.323643] worker_
[110684.323650] kthread+0x121/0x140
[110684.323654] ? process_
[110684.323661] ? kthread_
[110684.323666] ? do_syscall_
[110684.323671] ? SyS_exit+0x17/0x20
[110684.323677] ret_from_
[110684.323716] INFO: task kworker/2:1:590 blocked for more than 120 seconds.
[110684.323721] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110684.323724] "echo 0 > /proc/sys/
[110684.323728] kworker/2:1 D 0 590 2 0x80000000
[110684.323780] Workqueue: events __i915_
[110684.323783] Call Trace:
[110684.323789] __schedule+
[110684.323794] schedule+0x2c/0x80
[110684.323799] schedule_
[110684.323804] __mutex_
[110684.323811] ? __switch_
[110684.323816] ? __switch_
[110684.323822] __mutex_
[110684.323827] ? __mutex_
[110684.323831] mutex_lock+
[110684.323887] __i915_
[110684.323938] __i915_
[110684.323944] process_
[110684.323949] worker_
[110684.323955] kthread+0x121/0x140
[110684.323959] ? process_
[110684.323965] ? kthread_
[110684.323971] ? do_syscall_
[110684.323975] ? SyS_exit_
[110684.323982] ret_from_
[110805.155674] INFO: task Xorg:13866 blocked for more than 120 seconds.
[110805.155683] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110805.155687] "echo 0 > /proc/sys/
[110805.155691] Xorg D 0 13866 13865 0x00000004
[110805.155698] Call Trace:
[110805.155711] __schedule+
[110805.155720] ? resched_
[110805.155726] schedule+0x2c/0x80
[110805.155731] schedule_
[110805.155735] ? check_preempt_
[110805.155739] ? ttwu_do_
[110805.155745] wait_for_
[110805.155749] ? wake_up_q+0x80/0x80
[110805.155755] flush_workqueue
[110805.155759] ? wake_up_
[110805.155831] i915_gem_
[110805.155888] ? i915_gem_
[110805.155897] __mmu_notifier_
[110805.155902] try_to_
[110805.155908] rmap_walk_
[110805.155913] rmap_walk+0x41/0x60
[110805.155917] try_to_
[110805.155921] ? page_remove_
[110805.155928] ? page_not_
[110805.155932] ? page_get_
[110805.155939] migrate_
[110805.155945] ? __ClearPageMova
[110805.155951] ? isolate_
[110805.155957] compact_
[110805.155964] compact_
[110805.155972] try_to_
[110805.155978] ? try_to_
[110805.155985] __alloc_
[110805.155991] __alloc_
[110805.155998] ? __enqueue_
[110805.156004] ? enqueue_
[110805.156011] __alloc_
[110805.156016] kmalloc_
[110805.156021] __kmalloc_
[110805.156026] ? ___slab_
[110805.156032] kvmalloc_
[110805.156083] i915_gem_
[110805.156132] ____i915_
[110805.156179] __i915_
[110805.156229] __i915_
[110805.156275] eb_lookup_
[110805.156283] ? __pm_runtime_
[110805.156327] i915_gem_
[110805.156336] ? __radix_
[110805.156342] ? _cond_resched+
[110805.156347] ? kmem_cache_
[110805.156382] ? drm_vma_
[110805.156409] ? drm_vma_
[110805.156457] i915_gem_
[110805.156507] ? i915_gem_
[110805.156549] ? i915_gem_
[110805.156573] drm_ioctl_
[110805.156595] drm_ioctl+
[110805.156638] ? i915_gem_
[110805.156646] ? __switch_
[110805.156652] ? __switch_
[110805.156657] ? __switch_
[110805.156662] ? __switch_
[110805.156668] ? __switch_
[110805.156673] ? __switch_
[110805.156678] ? __switch_
[110805.156686] do_vfs_
[110805.156691] ? __schedule+
[110805.156697] SyS_ioctl+0x79/0x90
[110805.156704] do_syscall_
[110805.156711] entry_SYSCALL_
[110805.156715] RIP: 0033:0x7f3f418a55d7
[110805.156719] RSP: 002b:00007fff9f
[110805.156727] RAX: ffffffffffffffda RBX: 00007f3f4440b000 RCX: 00007f3f418a55d7
[110805.156730] RDX: 00007fff9fa5fce0 RSI: 0000000040406469 RDI: 000000000000000b
[110805.156733] RBP: 000000000000000b R08: 0000000000003a80 R09: 0000000000000000
[110805.156735] R10: ff000000ff000000 R11: 0000000000000246 R12: 00007fff9fa5fce0
[110805.156738] R13: 0000000000000040 R14: 0000000000000010 R15: 0000000000000000
[110805.156773] INFO: task kworker/u8:3:26372 blocked for more than 120 seconds.
[110805.156779] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110805.156782] "echo 0 > /proc/sys/
[110805.156786] kworker/u8:3 D 0 26372 2 0x80000000
[110805.156841] Workqueue: i915-userptr-
[110805.156844] Call Trace:
[110805.156851] __schedule+
[110805.156857] ? krealloc+0x70/0xd0
[110805.156862] schedule+0x2c/0x80
[110805.156867] schedule_
[110805.156872] __mutex_
[110805.156879] __mutex_
[110805.156883] ? __mutex_
[110805.156888] mutex_lock+
[110805.156932] cancel_
[110805.156938] process_
[110805.156943] worker_
[110805.156950] kthread+0x121/0x140
[110805.156955] ? process_
[110805.156961] ? kthread_
[110805.156966] ? do_syscall_
[110805.156971] ? SyS_exit+0x17/0x20
[110805.156978] ret_from_
[110805.157013] INFO: task kworker/2:1:590 blocked for more than 120 seconds.
[110805.157018] Tainted: P W O 4.15.0-45-generic #48-Ubuntu
[110805.157021] "echo 0 > /proc/sys/
[110805.157025] kworker/2:1 D 0 590 2 0x80000000
[110805.157077] Workqueue: events __i915_
[110805.157079] Call Trace:
[110805.157085] __schedule+
[110805.157091] schedule+0x2c/0x80
[110805.157096] schedule_
[110805.157101] __mutex_
[110805.157107] ? __switch_
[110805.157113] ? __switch_
[110805.157118] __mutex_
[110805.157123] ? __mutex_
[110805.157128] mutex_lock+
[110805.157171] __i915_
[110805.157212] __i915_
[110805.157218] process_
[110805.157223] worker_
[110805.157229] kthread+0x121/0x140
[110805.157234] ? process_
[110805.157240] ? kthread_
[110805.157245] ? do_syscall_
[110805.157250] ? SyS_exit_
[110805.157256] ret_from_
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1815508
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.