Critical upstream bugfix missing in Ubuntu 18.04 - frequent Xorg crash after suspend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Triaged
|
High
|
Joseph Salisbury | ||
Bionic |
Fix Committed
|
High
|
Joseph Salisbury |
Bug Description
== SRU Justification ==
This upstream bug has been confirmed to affect Ubuntu users[1]. As per the fix commit (below), the most frequent symptom is a crash of Xorg/Xwayland, i.e. killing the entire GUI, when a laptop is woken from system sleep. Frequency of the bug is described as once every few days[2].
[1] E.g. this user confirms the bug & very specific workaround: https:/
[2] E.g. this log of crashes: https:/
This is a bug in blk-core.c. It is not specific to any one hardware driver. Technically the suspend bug is triggered by the SCSI core - which is used by *all SATA devices*.
The commit also includes a test which quickly and reliably proves the existence of a horrifying bug.
I guess you might avoid this bug only if you have root on NVMe. The other way to not hit the Xorg crash is if you don't use all your RAM, so there's no pressure that leads to cold pages of Xorg being swapped. Also, you won't reproduce the Xorg crash if you suspend+resume immediately. (This frustrated my tests at one point, it only triggered after left the system suspended over lunch :).
Fix: "block: do not use interruptible wait anywhere"
in kernel 4.17: https:/
in kernel 4.16.8: https:/
lack of fix in 4.15.0-24.26 (ubuntu 18.04): https:/
I.e., this bug is still present in Ubuntu source package linux-4.15.0-24.26 (and 4.15.0-23.25). I attach hardware details (lspci-vnvn.log) of a system where this bug is known to happen.
Regards
Alan
WORKAROUND: Use kernel parameter:
scsi_mod.scan=sync
== Fix ==
1dc3039bc87a ("block: do not use interruptible wait anywhere")
== Regression Potential ==
Low. This patch has been sent to stable, so it has had additional
upstream review.
== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.
tags: | added: patch |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
tags: | added: cherry-pick kernel-fixed-upstream regression-release reverse-bisect-done |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: | removed: verification-needed-bionic |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Confirmed |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
tags: | added: cscc |
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 1776887
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.