You are not logged in.
Hello, recently I've ran into a strange issue on my ThinkPad T480, wherein which my system seems to be unable to finish suspending itself, causing me to have to reboot any time I close the lid.
I'd like to say that I'm normally pretty alright at figuring these things out myself, hell I've been daily-driving Arch since 2023 and I'm only just now having to create a post on the forums, so its safe to say that I'm rather stumped as to why this one is happening.
This never used to be a problem, and I'm not entirely sure at what point it started exactly, as there was a period of time where I stayed at home and thus didn't really have to close the lid on my laptop. That being said, the issue has shown itself recently (roughly within the last week or two).
I notice a bunch of other forum posts here about similar suspend issues recently, but I believe my case is different, as I have actually managed to narrow it down to what is blocking my system from going to sleep. I have an NTFS partition mounted on my system through ntfs-3g, and I can normally unmount it just fine. However, once I close the lid or run systemctl suspend, the systemd-suspend job gets stuck running, and by escaping into one of the other TTYs, I found that I can umount anything fine, except for that NTFS partition. Attempting to do so will just do nothing indefinitely until I break with Ctrl+C.
That being said, I do have a workaround for now, that being to forcefully unmount it with umount --force. Upon doing so, the system then immediately goes into sleep mode, and I can wake it up just fine and remount it afterwards. This obviously isn't ideal if I'm actually doing something on that partition, though. I will note that I mount it from a script manually, rather than through fstab: sudo mount --mkdir /dev/disk/by-uuid/5044E51644E4FF98 /mnt/win. I will also note that killing the job with systemctl cancel has no effect, outside of allowing me to reboot.
By far, the most puzzling thing is that if I run the same script (or mount the partition manually) from a real TTY rather than a terminal emulator, suspending will never have any issues. I frankly have no idea why this would make a difference, besides something to do with it being in a different session (though I am mounting with sudo so its not even the same user as my session), and using a different terminal emulator does not fix the problem.
I've tried looking in journalctl for any ntfs-3g, fuseblk and related messages, but unfortunately there is just nothing there from what I can tell. I would post the log, but there's a ton of personal info in there from various things and I'm at uni right now, so if it is needed, I'll have to sift through it properly when I get back home.
The only thing that sticks out to me currently is xscreensaver-gf crashing, though it doesn't cause any observable effect, and nothing changes if I kill xscreensaver and run systemctl suspend again. I'll include the journal log anyway, just in case:
Feb 26 12:49:29 j0w03l-t480-arch xscreensaver-auth[4850]: pam_unix(xscreensaver:account): setuid failed: Operation not permitted
Feb 26 12:49:29 j0w03l-t480-arch kernel: xscreensaver-gf[4622]: segfault at 10 ip 000055996592c3bc sp 00007ffd75ac7250 error 4 in xscreensaver-gfx[123bc,55996591f000+13000] likely on CPU 7 (core 3, socket 0)
Feb 26 12:49:29 j0w03l-t480-arch kernel: Code: 48 8b 85 b0 f8 ff ff 89 9d c8 f8 ff ff 4c 8b ad 78 f8 ff ff 48 8d 04 40 48 c1 e0 04 4d 8d 64 07 18 eb 49 0f 1f 00 49 8b 5e 10 <48> 8b 73 10 48 8b 3b ff 15 c7 16 01 00 48 8b 73 08 48 8b 3b >
Feb 26 12:49:29 j0w03l-t480-arch systemd-coredump[4853]: Process 4622 (xscreensaver-gf) of user 1000 terminated abnormally with signal 11/SEGV, processing...
Feb 26 12:49:29 j0w03l-t480-arch systemd[1]: Started Process Core Dump (PID 4853/UID 0).
░░ Subject: A start job for unit systemd-coredump@1-4097-4853_4854-0.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit systemd-coredump@1-4097-4853_4854-0.service has finished successfully.
░░
░░ The job identifier is 5704.
Feb 26 12:49:30 j0w03l-t480-arch systemd-coredump[4854]: [?] Process 4622 (xscreensaver-gf) of user 1000 dumped core.
Stack trace of thread 4622:
#0 0x000055996592c3bc n/a (/usr/lib/xscreensaver/xscreensaver-gfx + 0x123bc)
#1 0x000055996592d9da n/a (/usr/lib/xscreensaver/xscreensaver-gfx + 0x139da)
#2 0x000055996592e696 n/a (/usr/lib/xscreensaver/xscreensaver-gfx + 0x14696)
#3 0x00007feb4c7c378b n/a (libXt.so.6 + 0x2c78b)
#4 0x00007feb4c7c4880 XtAppNextEvent (libXt.so.6 + 0x2d880)
#5 0x00005599659201ea n/a (/usr/lib/xscreensaver/xscreensaver-gfx + 0x61ea)
#6 0x00007feb4c3ca6c1 n/a (libc.so.6 + 0x276c1)
#7 0x00007feb4c3ca7f9 __libc_start_main (libc.so.6 + 0x277f9)
#8 0x0000559965921825 n/a (/usr/lib/xscreensaver/xscreensaver-gfx + 0x7825)
Stack trace of thread 4852:
#0 0x00007feb4c441f32 n/a (libc.so.6 + 0x9ef32)
#1 0x00007feb4c43639c n/a (libc.so.6 + 0x9339c)
#2 0x00007feb4c43668c n/a (libc.so.6 + 0x9368c)
#3 0x00007feb4c438e5e pthread_cond_wait (libc.so.6 + 0x95e5e)
#4 0x00007feb48de5fae n/a (libgallium-25.3.5-arch1.1.so + 0x5e5fae)
#5 0x00007feb48d9b37d n/a (libgallium-25.3.5-arch1.1.so + 0x59b37d)
#6 0x00007feb48de5edd n/a (libgallium-25.3.5-arch1.1.so + 0x5e5edd)
#7 0x00007feb4c43997a n/a (libc.so.6 + 0x9697a)
#8 0x00007feb4c4bd2bc n/a (libc.so.6 + 0x11a2bc)
Stack trace of thread 4639:
#0 0x00007feb4c441f32 n/a (libc.so.6 + 0x9ef32)
#1 0x00007feb4c43639c n/a (libc.so.6 + 0x9339c)
#2 0x00007feb4c43668c n/a (libc.so.6 + 0x9368c)
#3 0x00007feb4c438e5e pthread_cond_wait (libc.so.6 + 0x95e5e)
#4 0x00007feb48de5fae n/a (libgallium-25.3.5-arch1.1.so + 0x5e5fae)
#5 0x00007feb48d9b37d n/a (libgallium-25.3.5-arch1.1.so + 0x59b37d)
#6 0x00007feb48de5edd n/a (libgallium-25.3.5-arch1.1.so + 0x5e5edd)
#7 0x00007feb4c43997a n/a (libc.so.6 + 0x9697a)
#8 0x00007feb4c4bd2bc n/a (libc.so.6 + 0x11a2bc)
Stack trace of thread 4640:
#0 0x00007feb4c441f32 n/a (libc.so.6 + 0x9ef32)
#1 0x00007feb4c43639c n/a (libc.so.6 + 0x9339c)
#2 0x00007feb4c43668c n/a (libc.so.6 + 0x9368c)
#3 0x00007feb4c438e5e pthread_cond_wait (libc.so.6 + 0x95e5e)
#4 0x00007feb48de5fae n/a (libgallium-25.3.5-arch1.1.so + 0x5e5fae)
#5 0x00007feb48d9b37d n/a (libgallium-25.3.5-arch1.1.so + 0x59b37d)
#6 0x00007feb48de5edd n/a (libgallium-25.3.5-arch1.1.so + 0x5e5edd)
#7 0x00007feb4c43997a n/a (libc.so.6 + 0x9697a)
#8 0x00007feb4c4bd2bc n/a (libc.so.6 + 0x11a2bc)
Stack trace of thread 4851:
#0 0x00007feb4c441f32 n/a (libc.so.6 + 0x9ef32)
#1 0x00007feb4c43639c n/a (libc.so.6 + 0x9339c)
#2 0x00007feb4c43668c n/a (libc.so.6 + 0x9368c)
#3 0x00007feb4c438e5e pthread_cond_wait (libc.so.6 + 0x95e5e)
#4 0x00007feb48de5fae n/a (libgallium-25.3.5-arch1.1.so + 0x5e5fae)
#5 0x00007feb48d9b37d n/a (libgallium-25.3.5-arch1.1.so + 0x59b37d)
#6 0x00007feb48de5edd n/a (libgallium-25.3.5-arch1.1.so + 0x5e5edd)
#7 0x00007feb4c43997a n/a (libc.so.6 + 0x9697a)
#8 0x00007feb4c4bd2bc n/a (libc.so.6 + 0x11a2bc)
ELF object binary architecture: AMD x86-64
░░ Subject: Process 4622 (xscreensaver-gf) dumped core
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ Documentation: man:core(5)
░░
░░ Process 4622 (xscreensaver-gf) crashed and dumped core.
░░
░░ This usually indicates a programming error in the crashing program and
░░ should be reported to its vendor as a bug.Here's some information that I hope might be useful:
NTFS partition from mount:
/dev/nvme1n1p3 on /mnt/win type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)uname -a output:
Linux j0w03l-t480-arch 6.18.9-arch1-2 #1 SMP PREEMPT_DYNAMIC Mon, 09 Feb 2026 17:16:33 +0000 x86_64 GNU/Linuxlspci output:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Kaby Lake-R GT2 [UHD Graphics 620] (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.6 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #7 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1d.2 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #11 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point LPC/eSPI Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-LM (rev 21)
02:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN500 / PC SN520 x2 M.2 2280 NVMe SSD (rev 01)
03:00.0 Network controller: Intel Corporation Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak] (rev 1a)
04:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
05:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
05:01.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
05:02.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
06:00.0 System peripheral: Intel Corporation JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016] (rev 01)
3c:00.0 USB controller: Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] (rev 01)
3d:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980 (DRAM-less)fusermount and ntfs-3g versions:
fusermount version: 2.9.9
fusermount3 version: 3.18.1
ntfs-3g 2022.10.3 external FUSE 29fuser -v output:
USER PID ACCESS COMMAND
/mnt/win: root kernel mount /mnt/win(lsof outputs nothing)
ps -aux | grep win output:
root 11217 0.0 0.0 6652 2000 ? Ss 13:38 0:00 /usr/bin/mount.ntfs /dev/nvme1n1p3 /mnt/win -o rw
j0w03l 11870 0.0 0.0 6484 4160 pts/3 S+ 13:45 0:00 grep winreadlink $(whereis mount.ntfs) output:
/usr/bin/ntfs-3gneofetch output (so you can see what WM, graphics driver, etc I'm running; and yes I know, neofetch is no longer maintained...):
-` j0w03l@j0w03l-t480-arch
.o+` -----------------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: 20L6S5VP1Z ThinkPad T480
`+oooooo: Kernel: 6.18.9-arch1-2
-+oooooo+: Uptime: 1 hour, 18 mins
`/:-:++oooo+: Packages: 2790 (pacman), 7 (flatpak), 13 (snap)
`/++++/+++++++: Shell: bash 5.3.9
`/++++++++++++++: Resolution: 1920x1080
`/+++ooooooooooooo/` WM: awesome
./ooosssso++osssssso+` Theme: Adwaita [GTK3]
.oossssso-````/ossssss+` Icons: Adwaita [GTK3]
-osssssso. :ssssssso. Terminal: qterminal
:osssssss/ osssso+++. Terminal Font: Source Code Pro 10
/ossssssss/ +ssssooo/-
`/ossssso+/:- -:/+osssso+- Memory:
`+sso+:-` `.-/+oso: └── Physical: 03091MiB / 23645MiB
`++:. `-/+/ └── zram: 00000MiB / 23644MiB
.` `/
CPU: Intel i5-8350U (8) @ 3.600GHz
└── Usage: 6%
GPU: Intel Kaby Lake-R GT2 [UHD Graphics 620]
└── Driver: i915
Batteries:
└── #1: 49% [Discharging] Thanks for your time.
Last edited by J0w03L (2026-02-26 22:07:03)
Offline
Please post your complete system journal for a boot covering such suspend failure, eg.
sudo journalctl -b | curl -F 'file=@-' 0x0.stfor the current one.
Ceterum censeo and especially in this case:
3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.
Online
Here's a full system journal for a fresh boot doing the minimal amount of steps to trigger the issue (and of course, log in again on a TTY to get the logs):
https://0x0.st/PQtM.txt
This does not include the step of me force unmounting the partition to workaround, so please ask if you would like this too.
Do note that I disabled NetworkManager for this, as I've noticed it tends to spew out a lot of info about my Wi-Fi network, which isn't particularly ideal when things like wigle exist, and also just clutters the log up. The issue and symptoms were identical either way, so I shouldn't think it will matter.
I already have fast-start and hibernation disabled, as it used to cause me issues when I actually still used Windows, but I haven't booted into it since March 2024. There is also no hiberfile.sys, just to be extra sure. I would boot into it and triple-check, but I don't have enough space on the partition for the inevitable forced update it is going to do if I try. These days, it just gets used as spare storage space that I should really move to ext4 some time.
I can at least confirm through the registry that it should be disabled though; running
hivexget /mnt/win/Windows/System32/config/SYSTEM "ControlSet001\\Control\\Session Manager\\Power" HiberbootEnabledreturns
0Offline
Feb 26 16:33:46 j0w03l-t480-arch sudo[1751]: pam_unix(sudo:session): session closed for user root
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: Reached target Sleep.
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: Starting System Suspend...
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: user@1000.service: Unit now frozen-by-parent.
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: user.slice: Unit now frozen.
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: user-1000.slice: Unit now frozen-by-parent.
Feb 26 16:33:46 j0w03l-t480-arch systemd[1]: session-2.scope: Unit now frozen-by-parent.
Feb 26 16:33:46 j0w03l-t480-arch systemd-sleep[1761]: Successfully froze unit 'user.slice'.
Feb 26 16:33:46 j0w03l-t480-arch systemd-sleep[1761]: Performing sleep operation 'suspend'...
Feb 26 16:33:46 j0w03l-t480-arch kernel: PM: suspend entry (deep)
Feb 26 16:33:51 j0w03l-t480-arch systemd[1]: Started Getty on tty2.
Feb 26 16:33:56 j0w03l-t480-arch kernel: fbcon: Taking over console
Feb 26 16:33:56 j0w03l-t480-arch systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.
Feb 26 16:33:56 j0w03l-t480-arch systemd[1]: Stopped Virtual Console Setup.
Feb 26 16:33:56 j0w03l-t480-arch systemd[1]: Stopping Virtual Console Setup...
Feb 26 16:33:56 j0w03l-t480-arch systemd[1]: Starting Virtual Console Setup...
Feb 26 16:33:56 j0w03l-t480-arch kernel: Console: switching to colour frame buffer device 240x67
Feb 26 16:33:56 j0w03l-t480-arch systemd[1]: Finished Virtual Console Setup.
Feb 26 16:33:57 j0w03l-t480-arch systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Feb 26 16:33:58 j0w03l-t480-arch systemd[1]: systemd-timedated.service: Deactivated successfully.
Feb 26 16:34:01 j0w03l-t480-arch login[1777]: pam_unix(login:session): session opened for user j0w03l(uid=1000) by j0w03l(uid=0)
Feb 26 16:34:01 j0w03l-t480-arch systemd-logind[892]: New session '4' of user 'j0w03l' with class 'user' and type 'tty'.
Feb 26 16:34:01 j0w03l-t480-arch systemd[1]: Cannot start frozen unit Session 4 of User j0w03l.The suspend is announced but doesn't happen and you're running into a (still) frozen session.
/usr/lib/systemd/system/systemd-suspend.service.d/10-no-freeze-session.conf
[Service]
Environment="SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false"You might want/need that in
* /usr/lib/systemd/system/systemd-suspend-then-hibernate.service.d/ and
* /usr/lib/systemd/system/systemd-hybrid-sleep.service.d/ and
* /usr/lib/systemd/system/systemd-homed.service.d/ and
* /usr/lib/systemd/system/systemd-hibernate.service.d/
as well.
Do you actually use any files in /mnt/win at this point (sudo lsof | grep 'mnt/win')?
Online
Creating /usr/lib/systemd/system/systemd-suspend.service.d/10-no-freeze-session.conf with the Environment variable you gave me does indeed work around the issue, and the suspend job also doesn't get stuck anymore when I have that applied. Thanks, I can probably use that as a better workaround for now. I am a bit concerned on whether or not that would cause my battery to deplete faster when I have my laptop packed into my bag though.
As for the lsof command, I can't tell. Attempting to perform any operation that queries information about the NTFS mount point (for example, ls /mnt/kali is fine but ls /mnt or ls /mnt/win is not), just causes that program to hang seemingly indefinitely, and this includes lsof. The partition functions perfectly fine when the system is not currently trying to suspend.
Offline
would cause my battery to deplete faster when I have my laptop packed into my bag though
Does the system properly suspend and resume after the change?
https://bbs.archlinux.org/viewtopic.php?id=296954
Freezing the user session is largely one of lennarts brain farts, it's disabled w/ the nvidia drivers because it caused massive problems there (but not only) and has no impact on a properly suspending system.
Online
Yes, everything appears to work perfectly fine with this change.
I read the thread you mentioned and out of curiosity, I tried unloading btusb (and also blocking it with rfkill) and undoing the workaround you gave me here, and while that is what my card uses, it didn't solve the problem. Whatever is causing this, it doesn't seem to be a bluetooth issue.
Offline
Yes, everything appears to work perfectly fine with this change.
In doubt check the journal, there'll be clear indicators of the resuming system (like the cpu's restarting)
I doubt this is anything specific - in your case it's probably related to the fuse module (do you get the same w/ the ntfs3 module?)
In any event please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Online
Seems likely to be the FUSE module yes; using ntfs3 instead also fixes the issue. That'll do pretty nicely for me, so thanks again!
Offline