Ubuntu 16.04: system freezes instead of suspend after undocking

Bug #1604313 reported by brandon211
40
This bug affects 7 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

I'm using a Lenovo ThinkPad T450s. When the system was docked and then undocked, suspend won't work. Instead, the screen goes black, the system freezes and the fan runs on high speed.
This problem persists with the (as of today) most recent kernel 4.4.0-31-generic #50.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-31-generic 4.4.0-31.50
ProcVersionSignature: Ubuntu 4.4.0-31.50-generic 4.4.13
Uname: Linux 4.4.0-31-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: buerger 3534 F.... pulseaudio
 /dev/snd/pcmC1D0p: buerger 3534 F...m pulseaudio
 /dev/snd/controlC1: buerger 3534 F.... pulseaudio
CurrentDesktop: Unity
Date: Tue Jul 19 11:13:41 2016
HibernationDevice: RESUME=UUID=21eeaf61-c437-45dc-80e3-e581eb6f795c
InstallationDate: Installed on 2015-09-15 (307 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
MachineType: LENOVO 20BX000XGE
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-31-generic root=UUID=93fc15f9-4090-40ff-a3ac-a642833f1da2 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-31-generic N/A
 linux-backports-modules-4.4.0-31-generic N/A
 linux-firmware 1.157.2
SourcePackage: linux
UpgradeStatus: Upgraded to xenial on 2016-04-22 (87 days ago)
dmi.bios.date: 03/23/2016
dmi.bios.vendor: LENOVO
dmi.bios.version: JBET57WW (1.22 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20BX000XGE
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50510 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrJBET57WW(1.22):bd03/23/2016:svnLENOVO:pn20BX000XGE:pvrThinkPadT450s:rvnLENOVO:rn20BX000XGE:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20BX000XGE
dmi.product.version: ThinkPad T450s
dmi.sys.vendor: LENOVO

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

There are already bug reports stating general suspend problems (without involvement of a docking station), https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1589139 and https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1566302/, both containing comments of people still affected.

Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.7 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc7

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I tested the kernel you suggest. It fixes this bug *somehow*, which means that suspend now works but when docking/undocking, the screen configuruation with the monitor connected to the docking station is not updated automatically anymore. Moreover, I have to dock/undock several times until my screen is recognized correctly concerning the selectable resolutions. And even worse, the combination Fn+F7 (for presentation screen modes) now does not work sporadically.

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

This issue did not start after an upgrade. The system however was upgraded from Ubuntu 15.10. Yes, there were various kernels where this issue was not present.

Revision history for this message
penalvch (penalvch) wrote :

brandon211, could you please advise which various kernels specifically where this issue was not present?

tags: added: bios-outdated-1.25
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I can try that. If you could point out how I can install previous kernels? Just installing various linux-image-4.4.0..... didn't to the trick as there seem to be drivers missing (sound, graphic accel., etc.).

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

Regarding the "bios-outdated" tag: I did a BIOS update, it now is
BIOS Information
 Vendor: LENOVO
 Version: JBET60WW (1.24 )
 Release Date: 05/25/2016

but the problem persists.

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

Oh, I forgot to install the linux-image-extra-... packages. So here we go:
4.4.0-21-generic: no problem
4.4.0-22-generic: no problem
4.4.0-28-generic: problem exists
4.4.0-31-generic: problem exists

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

And, to be up do tate:

4.4.0-34-generic: problem exists

Revision history for this message
Luke Murray (luke-3) wrote :

I am getting this problem on a Thinkpad x260. I have two displayport monitors attached to the docking station. If the machine is booted docked, undocking causes a freeze. if the machine is booted undocked, docking causes a freeze.

Kernel is 4.4.8-040408-generic

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

#12: But this means that you are affected by a freeze which comes from the docking / undocking event.
This is somewhat different to my case, where a freeze comes from the "go to suspend" event.

Revision history for this message
Luke Murray (luke-3) wrote :

Should I raise a new bug?

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I'd recommend that. You should then reference the bugs to each other so that they can be traced.

Revision history for this message
Luke Murray (luke-3) wrote :
Revision history for this message
penalvch (penalvch) wrote :

brandon211, the next step is to fully commit bisect from kernel 4.4.0-22 to 4.4.0-28 in order to identify the last good kernel commit, followed immediately by the first bad one. This will allow for a more expedited analysis of the root cause of your issue. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection ?

Please note, finding adjacent kernel versions is not fully commit bisecting.

Also, the kernel release names are irrelevant for the purposes of bisecting.

After the offending commit (not kernel version) has been identified, then please mark this report Status Confirmed.

Thank you for your help.

tags: added: latest-bios-1.24
removed: bios-outdated-1.25
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I will have a look. Basically, I am maybe an experienced user who just (tries to) use Linux for his daily work. Hopefully I will have the free time to tinker with the instructions during the next week.

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

386e0f97a585fa6a6d4aad767884a760ce3c0782 is the first bad commit

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

brandon211, could you please advise to the full details of that commit number for this report (author, signed off by, etc.)?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

Author: Maarten Lankhorst <email address hidden>
Date: Mon May 9 18:16:48 2016 -0600

    drm/atomic: Remove drm_atomic_connectors_for_crtc.

    BugLink: http://bugs.launchpad.net/bugs/1542939

    Now that connector_mask is reliable there's no need for this
    function any more.

    Signed-off-by: Maarten Lankhorst <email address hidden>
    Link: http://patchwork.freedesktop.org<email address hidden>
    Signed-off-by: Daniel Vetter <email address hidden>
    (back ported from commit 14de6c44d149c68df1800ded42bbab51485ef67a)
    Signed-off-by: Tim Gardner <email address hidden>

    Conflicts:
        drivers/gpu/drm/drm_atomic.c
        drivers/gpu/drm/drm_atomic_helper.c

    Acked-by: Stefan Bader <email address hidden>
    Signed-off-by: Kamal Mostafa <email address hidden>

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

brandon211, to keep this relevant to upstream, one would want check for, and test the latest mainline kernel (now 4.8-rc6) as it is released.

Could you please advise?

tags: added: bisect-done regression-update
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

With the latest mainline kernel, 4.8.1, the problem is not present.

Revision history for this message
penalvch (penalvch) wrote :

brandon211, the next step is to fully reverse commit bisect from kernel 4.7-rc7 to 4.8.1 in order to identify the last bad commit, followed immediately by the first good one. Once this good commit has been identified, it may be reviewed for backporting. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection#How_do_I_reverse_bisect_the_upstream_kernel.3F ?

Please note, finding adjacent kernel versions is not fully commit bisecting.

Also, the kernel release names are irrelevant for the purposes of bisecting.

It is most helpful that after the fix commit (not kernel version) has been identified, you then mark this report Status Confirmed.

Thank you for your help.

tags: added: kernel-fixed-upstream kernel-fixed-upstream-4.8.1 needs-reverse-bisect
Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I'm confused now. The problem is not present in 4.7-rc7 as well as in 4.8.1, so what is the bisecting supposed to find?

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

I'd like to renew my question. Did I miss anything? What am I supposed to do now?

Revision history for this message
penalvch (penalvch) wrote :

brandon211, apologies for letting this get away from me. To clarify, one would want to bisect from a kernel where this issue is confirmed to a kernel where this issue is not reproducible in.

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

It is clear to me what is the general goal, but as I showed I don't understand why a (reverse) bisecting between 4.7-rc7 and 4.8.1 is needed because the problem is not present in both versions.

Revision history for this message
penalvch (penalvch) wrote :

Given the fix commit came after 4.4.0-28-generic, and either including or before 4.7-rc7, this would be a more appropriate range.

Revision history for this message
Julius Thor (joolli) wrote :

I have the same laptop and am experiencing the same bug. I have tried upgrading to 4.8.0-30-generic but that does not fix the problem for me. I did try and turn off all monitors except the laptop monitor before undocking and that allowed me to put the laptop to sleep. I could not wake it up, though.

Revision history for this message
penalvch (penalvch) wrote :

Julius Thor, it will help immensely if you filed a new report with the Ubuntu repository kernel (not mainline/upstream) via a terminal:
ubuntu-bug linux

Please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

Revision history for this message
Julius Thor (joolli) wrote :

This is a ubuntu repository kernel, isn't it? Or should I move back to 4.4?

$ sudo apt-cache policy linux-image-4.8.0-30-generic
linux-image-4.8.0-30-generic:
  Installed: 4.8.0-30.32~16.04.1
  Candidate: 4.8.0-30.32~16.04.1
  Version table:
 *** 4.8.0-30.32~16.04.1 500
        500 http://is.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages

Revision history for this message
Julius Thor (joolli) wrote :

I also notice that the display changes are not detected properly. When I undock, there is no change in display orientation and I can still move the mouse over to the other screen which is not there (missing limb, still felt). When I run Displays ("unity-control-center display"), the screen flickers and the displays get rearranged but are still detected as if they are still connected.

Christofer, I'll create a new bug report as soon as I get clarification regarding my previous question.

Revision history for this message
Dennis (moneysac) wrote :

I am willing to help but the above comments are a little bit confused. So did I understood it correctly that wee need to reverse bisect (https://wiki.ubuntu.com/Kernel/KernelBisection#How_do_I_reverse_bisect_the_upstream_kernel.3F) from kernel version
4.4.0-28-generic to 4.7-rc7 ?

Revision history for this message
brandon211 (brandon211-deactivatedaccount-deactivatedaccount) wrote :

As the person who originally filed this bug, I'd like to add a comment: The bug actually doesn't affect me anymore to the effect that when Ubuntu 16.04.2 came out I switched to the new hwe-stack. This means I am (by) now running kernel 4.8.0-39-generic which does fine so far.
Anyway, it would be nice to find out what the original problem was/is so that it maybe can be avoided to have this in the future again.

Revision history for this message
Dennis (moneysac) wrote :

@brandon211: good to know that there is a workaround, however I think it is not really a solution because the kernel you are currently running is not the default one. I am also running Ubuntu 16.04.2 but with the standard kernel 4.4.0-64-generic where this bug is still present. Furthermore installing the hwe kernel is not for everyone the best solution, especially for enterprises, so this bug should be fixed in the non hwe kernel as well.

Revision history for this message
penalvch (penalvch) wrote :

brandon211, I am closing it because as per your comment https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1604313/comments/35 the bug has been fixed in a later version of the package.

This is a significant bug in Ubuntu. If a fix for the bug in previous versions of Ubuntu is required, please perform as much as possible of the SRU Procedure [1] to bring the need to a developer's attention.

[1]: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Julius Thor (joolli) wrote :

This bug is still in 16.04.

I seem to be able to work around this issue by closing the display while in the bug. Let the display orientation update so only the external monitor(s) is turned on, then undock the computer and finally open the display and close it again.

But undocking the computer with the display open and then trying to make the computer sleep will always make it lockup so that the cursor is the only thing that's responsive.

Revision history for this message
Julius Thor (joolli) wrote :

...by closing the display while in the dock", not the "bug" :)

Revision history for this message
Dennis (moneysac) wrote :

@Julius Thor: Unfortunately I couldn't reproduce your workaround. Once I undock my laptop in the closed state it does not resume anymore. Currently I am running

Linux thinkpad 4.4.0-77-generic #98-Ubuntu SMP Wed Apr 26 08:34:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

The only "solution" seems to be upgrading to the hwe kernel as brandon211 mentioned. According to Christopher M. Penalver we need to perform the SRU Procedure if we want a fix for kernel 4.4.0 (https://wiki.ubuntu.com/StableReleaseUpdates#Procedure).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.