Looks like it has something to do with the recent kernel.
I downgraded to 6.18.20-061820-generic and last several hiberation cycles were all fine.
The only issue I am experiencing right now is that sometimes kernel refuses to hibernate stating that there are no enough free pages. That’s strange since my swap partition is large enough to fit all the RAM and usually only ~40% of the RAM is occupied.
Update: Looks like the original issue was definitely caused by recent kernel. After I downgraded I was able to hibernate a dozen times or so and everything went OK. With the exception of failed attempts like this:
Most of the times vm cache flush with subsequent hibernate worked… until today.
Last time the hibernation attempt failed, but the kernel failed to recover from it with huge cascade failure in amdgpu. After it the laptop was running kinda OK (I heard notification sounds), but the screen was dead and I wasn’t able to reboot it gracefully.
That’s part of why I think an LLM might be able to shine. You can tell it to do this overnight and try 10 times at each commit. It can schedule a wake using wakeup timer.
Then it’s not hands on at all for you. Just set it and let it chug overnight, and if it’s not done by morning do it again the next night.