CachyOS / CachyOS/linux-cachyos

[BUG] Cachyos kernel boot crashes with AMD APU

Open
#913 1 comment 0 reactions 2 assignees Claimed by @ptr1337 View on GitHub
bug
Dominant language
Shell
Stars
4.5k
Forks
160
Avg merge
2d 12h
Merged PRs (30d)
1

Description

### Pre-flight checklist

- [x] I have searched existing issues and this is not a duplicate.
- [x] I have read the [Contributing Guidelines](https://github.com/CachyOS/linux-cachyos/blob/master/CONTRIBUTING.md).
- [x] I have verified the issue is reproducible with the latest available CachyOS kernel.
- [x] I have tried to reproduce the issue on Arch Linux's `linux` kernel.

### Upstream / vanilla kernel check

I tested with a vanilla/upstream kernel and the issue does NOT reproduce there (CachyOS-specific bug)

### Kernel variant

linux-cachyos (EEVDF, Clang)

### System information (cachyos-bugreport.sh)

```text
CPU: AMD Ryzen AI 7 H 350 8C/16T
GPU: AMD Radeon 680M
Kernel: latest, freshly installed yesterday (01/07/26)
```

### Manual system information (if cachyos-bugreport.sh is unavailable)

```text

```

### Bug description

Intermittent (>50%) kernel crashes during early boot on both linux-cachyos and linux-cachyos-lts, in two unrelated subsystems (amdgpu VRAM buddy allocator, and ALSA/USB-audio proc registration). Crashes occur during the concurrent device-probe phase of boot (udev coldplug). Hardware has been ruled out: memtest86+ passes cleanly, and the vanilla Arch linux kernel boots reliably with no crashes on the same hardware/config.

### Symptoms

- from user perspective: system appears to freeze at some point before, during, or after the Plymouth boot splash; in reality the kernel has oopsed and requires a hard reboot
- in some cases the system boots, but the system shell will be unresponsive (broken) after boot, in which case any process trying to use the system shell will become unresponsive and are unable to be killed which then blocks shutdowns and reboots
- can cause pipewire to fail
- unable to wake from sleep
- possibly many more

### Steps to reproduce

1. Boot into system with an AMD APU (unclear which generations affected, tested on Krackan Point) using cachyos-linux or cachyos-linux-lts
2. Wait for symptoms to appear
3. Can be repeated
4. When encountering a freeze a hard reboot (holding the power button) is required

I also suspect that multiple other users have experienced parts of this bug and reported the symptoms individually.

### Logs / stack traces

```text
Crash 1 — 7.1.2-3-cachyos — amdgpu / TTM buddy allocator

BUG: unable to handle page fault for address: 000003e800000348
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 2 UID: 0 PID: 589 Comm: [pango] fontcon Not tainted 7.1.2-3-cachyos #1 PREEMPT(full)
RIP: 0010:__gpu_buddy_free+0x1b8/0x220

Call Trace:
gpu_buddy_free_list+0x4a/0x130
amdgpu_vram_mgr_del+0xe4/0x120 [amdgpu]
ttm_resource_free+0x7b/0xb0 [ttm]
ttm_bo_put+0x25f/0x3c0 [ttm]
amdgpu_bo_unref+0x56/0x60 [amdgpu]
amdgpu_vm_pt_free_root+0xc8/0x110 [amdgpu]
amdgpu_vm_fini+0x483/0x8c0 [amdgpu]
amdgpu_driver_postclose_kms+0x1a5/0x2b0 [amdgpu]
drm_file_free+0x1c3/0x1d0
drm_release+0xc5/0x130
amdgpu_drm_release+0xb4/0xe0 [amdgpu]
__fput+0xcc/0x2c0
task_work_run+0x82/0xb0
do_exit+0x2dd/0x5d0
do_group_exit+0x76/0x90
get_signal+0x43d/0x530
arch_do_signal_or_restart+0x3b/0x230
exit_to_user_mode_loop+0x273/0x310
do_syscall_64+0x187/0x3e0

CR2: 000003e800000348

Fixing recursive fault but reboot is needed!
```
```text
Crash 2 — 6.18.37-1-cachyos-lts — ALSA / USB audio proc registration

BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 5 UID: 0 PID: 521 Comm: (udev-worker) Not tainted 6.18.37-1-cachyos-lts #1 PREEMPT(full)
RIP: 0010:strchr+0x17/0x30

Call Trace:
__xlate_proc_name+0x40/0x100
__proc_create+0x6a/0x2c0
proc_create_data+0x4f/0xd0
snd_info_register+0x751/0x990 [snd]
snd_info_card_register+0x58/0x250 [snd]
snd_card_register+0xd5/0x250 [snd]
usb_audio_probe+0x2ed/0x10b0 [snd_usb_audio]
usb_probe_interface+0x23a/0x440
really_probe+0xe9/0x3f0
__driver_probe_device+0x8f/0x190
__driver_attach+0xb3/0x360
bus_for_each_dev+0x12f/0x1d0
bus_add_driver+0x146/0x2f0
driver_register+0x75/0xe0
usb_register_driver+0x99/0x150
do_one_initcall+0x69/0x330
do_init_module+0x6a/0x260
init_module_from_file+0x86/0xd0
idempotent_init_module+0x204/0x330
__x64_sys_finit_module+0x7f/0x100
do_syscall_64+0x83/0x830
```

### Similarities between crashes
- Both crashes occur in completely unrelated subsystems (GPU memory management vs. ALSA/USB audio), on two different CachyOS kernel branches (stock and LTS).
- Both show PREEMPT(full) in the crash banner.
- Both occur during the multi-core device-probe phase of boot, when many kernel modules (audio, wifi, GPU, USB, storage) are initializing in parallel

### Suggestion (Claude generated)

- A race condition in amdgpu and/or snd_usb_audio/ALSA core that CachyOS's PREEMPT(full) + scheduler patches expose but vanilla Arch's kernel config does not, or
- A CachyOS-specific patch or compiler flag (e.g. -O3/LTO) introducing undefined-behavior-sensitive miscompilation in one or both of these codepaths.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.