Suspend and hibernate work, but hybrid-suspend does not

Bug #1906729 reported by Brian Ealdwine
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Expired
Low
Unassigned

Bug Description

I have a Lenovo e585, if it's relevant.

I'm running Ubuntu 20.04, and `systemd 245 (245.4-4ubuntu3.3)`.
EDIT: This is now 22.04 and `249 (249.11-0ubuntu3.9)`

Suspend on my system doesn't wake up consistently, but hibernate does.

Hybrid suspend would make an excellent fallback if wake fails.

Since both work independently, they *should* work together.

Happy to help debug.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: systemd 245.4-4ubuntu3.3
ProcVersionSignature: Ubuntu 5.4.0-56.62-generic 5.4.73
Uname: Linux 5.4.0-56-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.13
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Thu Dec 3 16:58:44 2020
InstallationDate: Installed on 2020-05-06 (210 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
MachineType: LENOVO 20KVCTO1WW
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/@/boot/vmlinuz-5.4.0-56-generic root=UUID=17333443-bf13-4111-b659-028e71aff61a ro rootflags=subvol=@ resume=UUID=5d93ce37-7478-43d9-9564-618e60725242 quiet splash vt.handoff=7
SourcePackage: systemd
SystemdDelta:
 [MASKED] /etc/systemd/system/samba-ad-dc.service → /usr/lib/systemd/system/samba-ad-dc.service
 [EXTENDED] /usr/lib/systemd/system/rc-local.service → /usr/lib/systemd/system/rc-local.service.d/debian.conf
 [EXTENDED] /usr/lib/systemd/system/user@.service → /usr/lib/systemd/system/user@.service.d/timeout.conf

 3 overridden configuration files found.
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/23/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: R0UET74W (1.54 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20KVCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40709 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR0UET74W(1.54):bd07/23/2019:svnLENOVO:pn20KVCTO1WW:pvrThinkPadE585:rvnLENOVO:rn20KVCTO1WW:rvrSDK0J40709WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad E585
dmi.product.name: 20KVCTO1WW
dmi.product.sku: LENOVO_MT_20KV_BU_Think_FM_ThinkPad E585
dmi.product.version: ThinkPad E585
dmi.sys.vendor: LENOVO
mtime.conffile..etc.systemd.sleep.conf: 2020-12-03T16:22:33.696671

Revision history for this message
Brian Ealdwine (eode) wrote :
description: updated
Revision history for this message
Nick Rosbrook (enr0n) wrote :

Sorry this was not looked at sooner. Is this still an issue for you?

Changed in systemd (Ubuntu):
status: New → Incomplete
Revision history for this message
Brian Ealdwine (eode) wrote :

Yes, I have just confirmed:

* Suspend works
* Hibernate works
* Hybrid Sleep does not work

More specifically, Hybrid sleep results in what appears to be a successful suspend (after a longer period, because it is saving hibernation data). When an awakening is attempted, it fails, and the system must be forced to shutdown. During the failed awakening, you can see a brief flash of the screen (without the lock screen) and then it goes black again.

After forced/BIOS shutdown, the system doesn't recover from hibernation -- but that's not really surprising, because it most likely attempted to wake from memory and fudged things then.

My system fails in a fairly similar way when I try to sleep using 'freeze' (which *should* be less intrusive than 'mem', but 'mem' works).

suspend-then-hibernate works great, though. Only hybrid-suspend is broken for me.

Changed in systemd (Ubuntu):
status: Incomplete → New
description: updated
Revision history for this message
Nick Rosbrook (enr0n) wrote :

Okay, with hybrid-sleep enabled, can you please do the following?

$ mkdir -p /etc/systemd/system/systemd-logind.service.d/
$ cat > /etc/systemd/system/systemd-logind.service.d/debug.conf << EOF
[Service]
Environment=SYSTEMD_LOG_LEVEL=debug
EOF
$ reboot
[...]
$ systemd-analyze cat-config systemd/logind.conf > logind.conf

Then try to suspend. Assuming that fails, and you have to reboot, then please attach logs from the previous boot:

$ journalctl -t kernel -b -1 > kernel.log
$ journalctl -u systemd-logind.service -b -1 > systemd-logind.log

Changed in systemd (Ubuntu):
status: New → Incomplete
importance: Undecided → Low
Revision history for this message
Brian Ealdwine (eode) wrote : Re: [Bug 1906729] Re: Suspend and hibernate work, but hybrid-suspend does not

Ok. Here are the files, and here was my process:

Followed instructions, but before hard reboot (after system has been woken
to a black screen)

* Bluetooth connected. It does not always do so.
* I switched login terminals (ctrl-alt-f2/f3) and then back to the
graphical one (ctrl-alt-f1).
  * This "worked", since I again heard bluetooth connect/disconnect
appropriately.
  * This *didn't* work, since I still have a black screen.
* I shutdown the system cleanly via an SSH call.

Still, regular suspend and suspend-then-hibernate works fine.

So, decent chance this is a graphics driver bug or a race condition.

Files included. kernel.log Lines 1381-1383 may be particularly relevant.

On Tue, Jun 27, 2023 at 9:31 AM Nick Rosbrook <email address hidden>
wrote:

> Okay, with hybrid-sleep enabled, can you please do the following?
>
> $ mkdir -p /etc/systemd/system/systemd-logind.service.d/
> $ cat > /etc/systemd/system/systemd-logind.service.d/debug.conf << EOF
> [Service]
> Environment=SYSTEMD_LOG_LEVEL=debug
> EOF
> $ reboot
> [...]
> $ systemd-analyze cat-config systemd/logind.conf > logind.conf
>
> Then try to suspend. Assuming that fails, and you have to reboot, then
> please attach logs from the previous boot:
>
> $ journalctl -t kernel -b -1 > kernel.log
> $ journalctl -u systemd-logind.service -b -1 > systemd-logind.log
>
>
> ** Changed in: systemd (Ubuntu)
> Status: New => Incomplete
>
> ** Changed in: systemd (Ubuntu)
> Importance: Undecided => Low
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1906729
>
> Title:
> Suspend and hibernate work, but hybrid-suspend does not
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1906729/+subscriptions
>
>

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for systemd (Ubuntu) because there has been no activity for 60 days.]

Changed in systemd (Ubuntu):
status: Incomplete → Expired
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.