Found during #1925 validation on ct151 (evidence: #1925 (comment)).
Standalone llama-server from ghcr.io/hal0ai/hal0-rocmfpx:ade07ba with no devices mapped segfaults at model load (exit 139), reproduced 2/2, before the HTTP port binds. Model: hal0-brain-sft-q8-rocmfpx.
Distinct from #1888 (silent garbage with green health): this is crash-on-load. Population: any container/LXC deployment with neither /dev/kfd nor a render node visible — post-#1923 the preflight derives such boxes to CPU slots, so exposure is narrowed to configs that explicitly pin a GPU device on a device-less box, but the runner should fail with a diagnostic, not SIGSEGV.
Note for triage: the same session confirmed renderD128-without-kfd (AMD RADV lane) reproduces #1888's empty-content garbage exactly — no new evidence there, and #1923's preflight now blocks that config.
Refs #1925, #1888.
Found during #1925 validation on ct151 (evidence: #1925 (comment)).
Standalone llama-server from
ghcr.io/hal0ai/hal0-rocmfpx:ade07bawith no devices mapped segfaults at model load (exit 139), reproduced 2/2, before the HTTP port binds. Model: hal0-brain-sft-q8-rocmfpx.Distinct from #1888 (silent garbage with green health): this is crash-on-load. Population: any container/LXC deployment with neither /dev/kfd nor a render node visible — post-#1923 the preflight derives such boxes to CPU slots, so exposure is narrowed to configs that explicitly pin a GPU device on a device-less box, but the runner should fail with a diagnostic, not SIGSEGV.
Note for triage: the same session confirmed renderD128-without-kfd (AMD RADV lane) reproduces #1888's empty-content garbage exactly — no new evidence there, and #1923's preflight now blocks that config.
Refs #1925, #1888.