Linux 4.9.9 breaks hibernation (4.9.8 works)

Good evening,

like 4.10rc has always done, the jump from 4.9.8 to 4.9.9 has broken hibernation on my device.
The system stays stuck on a black screen, no response to input, when resuming from hibernation. Can not change tty.
Is there anyone experiencing similar issues and are there possible fixes?

Please see Inxi in my profile.

Best

wait test repo manjaro kernel 4.9.9
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.9

2 Likes

Thanks for linking this resource!
Just an Update: 4.9.10 also does break hibernation.

I’m on 4.9.6 with KDE and if I suspend, then resume it is fine. If I suspend and resume again I’ll get the lockup that you describe. I’ve been trying to figure out why this is happening over the past week.

@deemde I’ve just tried 4.8.17 kernel and my issue doesn’t happen. Can you confirm if it fixes the problem for you?

Thank you for testing kwhali. My issue is not with suspension but hibernation.

Neither 4.4.50 nor 4.9.11 work.

v4.9.9 changed a lot in resume/suspend functions. With v4.9.10 the Pstate for Intel got adjusted. And in v4.9.11 some FPU changes in regard of xsaves got added. If the regression got now introduced with v4.9.9 you may do a git-bisect similar as I did for an issue I had with linux41 in the past. It took a while to find the issue, as you have to recompile the kernel again and again. Most likely a day or two get wasted, depending on your CPU speed.

2 Likes

these days , we have a new kernel linux 4.9 version every 2 or 3 days
some others distribution are frozen , but kernel 4.9 is LTS

they have to wait more for kernel 4.9

Thank your for providing the info on kernel bisect, philm. I will try to find the bad commit and report back.

Edit: Using .config https://raw.githubusercontent.com/manjaro/packages-core/master/linux49/config.x86_64 .

@deemde: git-bisect is a little hard to understand from the beginning. Since we know that it broke within a point release it might be easier to find the issue. Having an issue during development cycle of a kernel might be easier, as I had with linux41. A good introduction to it can be found here. To have it easy to find the regression you have to use a git repo, which includes all stable-queue-patches.

  • clone our core packages and modify the PKGBUILD similar as I did with linux41
  • remove patches, which might conflict
  • use a git repo, which includes all stable-queue patches aswell
  • get the git commit IDs and edit the PKGBUILD accordingly, which makes it a lot easier to redo

Good luck in finding the bugger.

1 Like

@philm : Thank you for the detailed and helpful information.

I have been able to bisect the kernel bug (I might have aged a little during the PKGBUILD edit).

Please see https://raw.githubusercontent.com/kxv/linux49.9/master/bisect-git.txt and the repository for a history of the bisect.
How would I proceed?

@deemde: congrats in finding the issue. Not everybody is able to do a bisect. I hoped I was able to help and guide you with this one. Next step would be to apply that same commit in revert to verify that that is actually the issue. The title says it all about your issue: drm/i915/execlists: Reset RING registers upon resume You can put your laptop in sleep mode but it never wakes up. Also you’re using the matching card: Intel HD Graphics 520

Since you confirmed the issue “fixed” by reverting the patch you can then report the issue to upstream. Simply write an email with the problem. Similar as I did it with an i686 problem. I also had involved upstream at some point. All the people who had reviewed the patch should be contacted

To clarify that linux410 might have fixed it, please also install that kernel series, since a lot of changes were made for that driver. Some might simply needed to be backported.

Kernel commit 7a9347f947757f6c5ea432b299a8ba33ef7b78c7 most likely is a good one. And 4fc020d864647ea3ae8cb8f17d63e48e87ebd0bf being the last one you also find in v4.10 you can then use that range to verify which patch might fixed your issue, if v4.10 works again for you.

Please follow the bug here: https://bugs.freedesktop.org/show_bug.cgi?id=100221

@deemde: I don’t think that the Xorg-Bugtracker might help here. For kernel issues it would be: https://bugzilla.kernel.org/ However, since the original bug was also reported at freedesktop.org it might even work. :wink:

I hope it will.
Please also follow the discussion here: https://lists.freedesktop.org/archives/intel-gfx/2017-March/122830.html

1 Like

I’m running Cinnamon (inxi: CPU~Quad core AMD Phenom II X4 840 (-MCP-) speed/max~800/3200 MHz Kernel~4.9.16-1-MANJARO x86_64 Up~2 min Mem~1564.0/3449.1MB HDD~4120.8GB(24.2% used) Procs~178 Client~Shell inxi~2.3.8) on a desktop machine, suspend works fine, no problems but it won’t hibernate, just goes to the login screen where the mouse is frozen, restarting cinnamon does not fix the problem so the only solution is rebooting.

Please follow the continued discussion here: https://lists.freedesktop.org/archives/intel-gfx/2017-April/125823.html

Sorry to dig this thread out. I need to bisect a bug introduced in kernel 4.10. I reached here so far:

[photon@Thinkpad-X200T linux]$ git bisect start
[photon@Thinkpad-X200T linux]$ git bisect good v4.9
[photon@Thinkpad-X200T linux]$ git bisect bad v4.10
binäre Suche: danach noch 7099 Commits zum Testen übrig (ungefähr 13 Schritte)
[f4000cd99750065d5177555c0a805c97174d1b9f] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Now I need to compile and test the revision bisect gave me. I understand how to do it “manually”. But I wonder, is there an easy way to use some Manjaro package and build a kernel package using makepkg such that it can be removed cleanly via pacman? Thanks!

Forum kindly sponsored by Bytemark