Self-hosted Tangled spindle

S3: Blacklist qxl to prevent shutdown deadlock (ENG-500) #8

Merged demi.dev
targeting main from stoopkidddd/eng-500-executor-vm-hangs-on-reboot-the-qxl-graphics-driver
Merged opened by and assigned to demi.dev
targeting main from stoopkidddd/eng-500-executor-vm-hangs-on-reboot-the-qxl-graphics-driver

Linear: ENG-500. It blocks the S3 gate, ENG-472.

The ENG-472 reboot test hung for 40 minutes. The VM's qxl DRM driver logged [TTM] Buffer eviction failed every 15 s. At shutdown, PID 1 blocked on the DRM modeset lock, which was held by a kworker stuck in qxl_fence_wait. With PID 1 in D state, no stop timeout could fire.

This blacklists qxl in executor/hardware-configuration.nix. The console stays in VGA text mode and on ttyS0.

Checks: mise run check exit 0 (hadolint, shellcheck, nix flake check, toplevel eval → sdv11jmb…). boot.blacklistedKernelModules evaluates to ["ip_tables","qxl"].

Deploy (lead, after merge): build and switch on the VM, reboot twice, check lsmod has no qxl, and confirm the executor reconnects with no manual step.

🤖 Generated with Claude Code

Commits 0