Hello,
I just purchased ASUS NUC 15 Pro+ with Intel Core Ultra 9 285H and Crucial SO-DIMM 96GB KIT DDR5 5600 and I am experiencing the same issues. On stable Fedora 43 at the moment, the default kernel. I have pretty much normal installation but I have 64GB memory reserved for huge pages, just to be clear on my setup. Also, I am on the latest firmware (0029) and I have not enabled any non-standard things in EFI firmware.
A side note: The system was unstable when under load (overheating) and it turns out the OS overrides EFI setting of power management. Although I set the fan to be in Performance mode, it falls back to Standard after Fedora boots and this led to overheating. This helped:
echo performance > /sys/firmware/acpi/platform_profile
echo 95 > /sys/devices/system/cpu/intel_pstate/max_perf_pct
Alternatively, instead throttling down maximum performance to 90%, setting Intel RAPL limits also helped me (80W peak, 45W sustained, 25 seconds of budget):
echo 45000000 > /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw
echo 80000000 > /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw
echo 25000000 > /sys/class/powercap/intel-rapl:0/constraint_1_time_window_us
Now, to the actual problem of idle freezing - my PC is a home lab server but I was able to connect it to my TV and make a pic of the kernel message. I did not expect it to be able to do soft power off but I tried it expecting it to require full hold but it worked so it was not all dead (but network was down apparently).
I experienced while I was performing stress tests via stress-ng utility and it tend to happen right after the CPU is put under heavy load. Note the debugfs access is restricted which was a fortunate message that caught my eye in logs followed by rcu_preempt self-detected stall on CPU.
[35144.509252] Lockdown: stress-ng: debugfs access is restricted; see man kernel_lockdown.7
[35144.509269] rcu: rcu_preempt self-detected stall on CPU
[35144.509269] rcu: 12-....: (t=60001 jiffies g=665365 q=85 ncpus=16)
[35144.509269] rcu: rcu: 12-....: (t=60001 jiffies g=665365 q=85 ncpus=16)
[35144.509286] CPU: 12 UID: 0 PID: 760 Comm: systemd-userdbd Not tainted 6.19.0-200.fc43.x86_64 #1 PREEMPT(lazy)
[35144.509290] Hardware name: ASUSTeK COMPUTER INC. NUC15CSKUU9/NUC15CSKUU9, BIOS CPANL579.0029.2026.0115.1719 01/15/2026
[35144.509290] RIP: 0010:smp_call_function_many_cond+0x112/0x560
[35144.509290] Code: [...] of 95 82 d0 d8 63 e3 eb 49 8b ae 40 e1 0d fd 00 00 e8 0f 03 1a 04 80 88 88 08 8f 03 8c ed e0 88 9c 94 8b 41 80 80 81 81 74 09 <f3> 90 0b 41 80 a0 81 75 f7 83 c3 01 eb b3 48 8b 83 40 ea [...]
[35144.509290] RSP: 0018:ffffd18ac643f890 EFLAGS: 00000202
[35144.509302] RAX: 0000000000000001 RBX: [...] RCX: ffffd18ac643fd40
[35144.509302] RDX: 000000000000000a RSI: [...] RDI: 0000000000000003
[35144.509302] RBP: [...] R08: ffff84db403f2728 R09: ffff84db403f2a78
[35144.509302] R10: ffff84db403f2728 R11: 0000000000000000 R12: 0000000000000001
[35144.509302] R13: 0000000000000000 R14: ffff84dcf6824240 R15: ffff84db403f2728
[35144.509305] FS: 00007f7ccade4c00(0000) GS:ffff84dcf6800000(0000) knlGS:0000000000000000
[35144.509306] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[35144.509306] CR2: 00007f08bf558cf0 CR3: 0000000101254002 CR4: 000000000077efef
[35144.509307] PKRU: 55555554
[35144.509308] Call Trace:
[35144.509308] <TASK>
[35144.509309] ? on_each_cpu_cond_mask+0x24/0x40
[35144.509311] ? native_flush_tlb_func_base+0x20/0x20
[35144.509312] flush_tlb_mm_range+0x15b/0x360
[35144.509317] dup_mmap+0x3c9/0x720
[35144.509322] dup_mm_constrop.8+0x6a/0x160
[35144.509322] copy_process+0xd1b/0x16e0
[35144.509322] kernel_clone+0x8c/0x4a0
[35144.509322] ? _do_sys_clone+0x65/0x90
[35144.509322] __do_sys_clone+0x65/0x90
[35144.509322] ? queue_delayed_work_on+0x81/0x90
[35144.509322] ? _seccomp_filter+0x52/0x300
[35144.509322] ? audit_reset_context+0x298/0x300
[35144.509322] ? syscall_exit_work+0x143/0x1b0
[35144.509322] ? do_syscall_64+0xbb/0x1d0
[35144.509322] ? audit_reset_context+0x298/0x300
[35144.509322] ? syscall_exit_work+0x143/0x1b0
[35144.509322] ? do_syscall_64+0xbb/0x1d0
[35144.509322] ? syscall_exit_work+0x143/0x1b0
[35144.509322] ? do_syscall_64+0xbb/0x1d0
[35144.509322] ? audit_reset_context+0x298/0x300
[35144.509322] ? switch_fpu_return+0x4c/0xc0
[35144.509322] ? arch_exit_to_user_mode_prepare.isra.0+0xa1/0xc0
[35144.509322] ? do_syscall_64+0xcb/0x1d0
[35144.509322] ? exc_page_fault+0x7e/0x1b0
[35144.509367] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[35144.509369] RIP: 0033:0x7f7ccaecc4bd
[35144.509369] Code: 02 00 e8 ab b3 f3 ff f5 41 cb 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 b8 df 11 00 29 df 01 4c c4 d8 b2 00 80 18 30 c0 08 d0 8f c5 cb 3d a0 ff ff 77 c4 05 c4 85 d8 f5 31 c1 d1 d8 8b
[35144.509369] RSP: 002b:00007f7ccade4248 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
[35144.509369] RAX: ffffffffffffffda RBX: [...] RCX: 00007f7ccaecc4bd
[35144.509369] RDX: 0000000000000000 RSI: [...] RDI: 0000000000000003
[35144.509369] RBP: 00007f7f74f4dd10 R08: 0000000000000000 R09: 00007f7f74f4ed40
[35144.509369] R10: 00007f7ccade4e80 R11: 0000000000000246 R12: 0000000000000003
[35144.509369] R13: 00007f7f74f4dcc0 R14: 0000000000000003 R15: 0000000000000000
[35144.509369] </TASK>
[35324.510458] rcu: INFO: rcu_preempt self-detected stall on CPU
[35324.510458] rcu: 17-....: (t=240003 jiffies g=665365 q=330 ncpus=16)
[35324.510458] rcu: rcu: INFO: rcu_preempt self-detected stall on CPU
[35324.510458] rcu: rcu: 17-....: (t=240003 jiffies g=665365 q=330 ncpus=16)
[35324.510467] CPU: 17 UID: 0 PID: 760 Comm: systemd-userdbd Not tainted 6.19.0-200.fc43.x86_64 #1 PREEMPT(lazy)
[35324.510468] Hardware name: ASUSTeK COMPUTER INC. NUC15CSKUU9/NUC15CSKUU9, BIOS CPANL579.0029.2026.0115.1719 01/15/2026
[35324.510468] RIP: 0010:smp_call_function_many_cond+0x112/0x560
[35324.510468] Code: cf 95 82 80 89 c3 73 30 48 63 eb 49 8b ae 40 e1 0d fd 00 00 ea 0f 03 1a 04 80 80 80 80 8f 03 8c ed e0 88 9c 94 8b 41 80 80 81 81 74 09 <f3> 90 0b 41 80 a0 81 75 f7 83 c3 01 eb b3 48 8b 83 40 ea [...]
[35324.510468] RSP: 0018:ffffd18ac643f890 EFLAGS: 00000202
[35324.510468] RAX: 0000000000000001 RBX: [...] RCX: ffffd18ac643fd40
[35324.510468] RDX: 000000000000000a RSI: [...] RDI: 0000000000000003
[35324.510468] RBP: [...] R08: ffff84db403f2728 R09: ffff84db403f2a78
[35324.510468] R10: ffff84db403f2728 R11: 0000000000000000 R12: 0000000000000001
[35324.510468] R13: 0000000000000000 R14: ffff84dcf6824240 R15: ffff84db403f2728
[35324.510468] FS: 00007f7ccade4c00(0000) GS:ffff8dcdfc8e0000(0000) knlGS:0000000000000000
[35324.510468] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[35324.510468] CR2: 00007f08bf558cf0 CR3: 0000000101254002 CR4: 000000000077efef
[35324.510468] PKRU: 55555554
[35324.510468] Call Trace:
[35324.510468] <TASK>
[35324.510468] ? native_flush_tlb_func_base+0x20/0x20
[35324.510468] ? on_each_cpu_cond_mask+0x24/0x40
[35324.510468] flush_tlb_mm_range+0x15b/0x360
[35324.510468] dup_mmap+0x3c9/0x720
[35324.510468] dup_mm_constrop.8+0x6a/0x160
[35324.510468] copy_process+0xd1b/0x16e0
[35324.510468] kernel_clone+0x8c/0x4a0
[35324.510468] ? _do_sys_clone+0x65/0x90
[35324.510468] __do_sys_clone+0x65/0x90
[35324.510468] ? queue_delayed_work_on+0x81/0x90
[35324.510468] ? _seccomp_filter+0x52/0x300
[35324.510468] ? audit_reset_context+0x298/0x300
[35324.510468] ? syscall_exit_work+0x143/0x1b0
[35324.510468] ? do_syscall_64+0xbb/0x1d0
[35324.510468] ? do_syscall_64+0xbb/0x1d0
[35324.510468] ? syscall_exit_work+0x143/0x1b0
[35324.510468] ? do_syscall_64+0xbb/0x1d0
[35324.510468] ? audit_reset_context+0x298/0x300
[35324.510468] ? switch_fpu_return+0x4c/0xc0
[35324.510468] ? arch_exit_to_user_mode_prepare.isra.0+0xa1/0xc0
[35324.510468] ? do_syscall_64+0xcb/0x1d0
[35324.510468] ? exc_page_fault+0x7e/0x1b0
[35324.510567] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[35324.510569] RIP: 0033:0x7f7ccaecc4bd
[35324.510569] Code: 02 00 e8 b3 f3 ff f5 41 cb 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 b8 df 11 00 29 df 01 4c c4 d8 b2 00 80 18 30 c0 08 d0 8f c5 cb 3d a0 ff ff 77 c4 05 c4 85 d8 f5 31 c1 d1 d8 8b
[35324.510569] RSP: 002b:00007f7ccade4248 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
[35324.510569] RAX: ffffffffffffffda RBX: [...] RCX: 00007f7ccaecc4bd
[35324.510569] RDX: 0000000000000000 RSI: [...] RDI: 0000000000000003
[35324.510569] RBP: 00007f7f74f4dd10 R08: 0000000000000000 R09: 00007f7f74f4ed40
[35324.510569] R10: 00007f7ccade4c00 R11: 0000000000000246 R12: 0000000000000003
[35324.510569] R13: 00007f7f74f4dcc0 R14: 0000000000000003 R15: 0000000000000000
[35324.510569] </TASK>
[43766.355728] EXT4-fs (dm-11): INFO: recovery required on readonly filesystem
[43766.355744] EXT4-fs (dm-11): write access will be enabled during recovery
[43766.372814] EXT4-fs (dm-11): orphan cleanup on readonly fs
[43766.373878] EXT4-fs (dm-11): recovery complete
[43766.375849] EXT4-fs (dm-11): mounted filesystem xxx ro with ordered data mode. Quota mode: none.
[43771.712584] EXT4-fs (dm-11): unmounting filesystem xxx.
I am currently trying to reproduce to confirm this behavior so I can start playing around with different kernels, microcode or kernel command line options. Here is such script:
#!/bin/bash
# Configuration
CPUS=$(nproc)
ON_TIME=5 # Seconds of high load
OFF_TIME=2 # Seconds of complete idle
echo "--------------------------------------------------"
echo " Targets: $CPUS cores | Cycle: ${ON_TIME}s ON / ${OFF_TIME}s OFF"
echo " Press Ctrl+C to stop the madness."
echo "--------------------------------------------------"
trap "echo -e '\nTest stopped by user.'; exit" SIGINT SIGTERM
ITERATION=1
while true; do
echo -n "[$(date +%H:%M:%S)] Iteration $ITERATION: STRESSING... "
# Fire all cylinders: CPU, Matrix math, and Memory allocation
# This creates the maximum possible current draw spike
stress-ng --cpu $CPUS --matrix 1 --malloc 1 --timeout ${ON_TIME}s --quiet
echo -n "IDLE... "
sleep $OFF_TIME
echo "DONE"
ITERATION=$((ITERATION + 1))
done
I also looked up the microcode for this CPU and it is the same one as in Fedora 43 stable at the moment (sprint 2026): Intel-Linux-Processor-Microcode-Data-Files/intel-ucode/06-c5-02 at main · intel/Intel-Linux-Processor-Microcode-Data-Files · GitHub so no updates there. Also no BIOS available at this time, I have a one from Jan 2026. My kernel is Linux yuki.internal 6.19.8-200.fc43.x86_64 just for the record.
Edit 1: So far so good, I previously had Huge Pages configured but I removed it and also applied both 95% cap limit and Intel RAPL as above to further stabilize temps since this NUCs lives in my TV cabinet. Temps are below 100C.
Edit 2: Nah, another freeze, this time early morning after all nighter of idling and it happened when I tried to ssh for the first time. So this is definitely an issue with deep sleep states. Adding maximum cstate to 2 or 1 and I keep testing this:
grubby --update-kernel=ALL --args="intel_idle.max_cstate=2"
You can try this too this might help until a new BIOS and a new kernel (or both) are out.