Managed with AI assistance. Reviewed by a human.
🛠️ Real incident

Diagnosing LM Studio's Vulkan Survey Crash

LM Studio crashed during its Vulkan hardware survey inside a VM; how the cause was isolated.

Diagnosing LM Studio’s Vulkan Survey Crash

Symptoms

systemd-coredump recorded:

process: node
binary: ~/.lmstudio/.internal/utils/node
signal: SIGABRT

LM Studio subsequently continued running.

Investigation

Start with the recorded core metadata:

coredumpctl info PROCESS_ID
coredumpctl list

Rule out resource exhaustion:

free -h
journalctl -b --no-pager \
  | grep -Ei 'out of memory|oom-kill|killed process'

Correlate the crash time with system and application logs:

journalctl --since 'CRASH_TIME_MINUS_ONE_MINUTE' \
  --until 'CRASH_TIME_PLUS_ONE_MINUTE' --no-pager

When deeper inspection is necessary, extract the core to a private temporary file and remove it afterward:

core=$(mktemp -t crash-XXXXXX.core)
trap 'rm -f "$core"' EXIT
coredumpctl dump PROCESS_ID --output="$core"
DEBUGINFOD_URLS="https://debuginfod.archlinux.org" \
  gdb -q EXECUTABLE "$core" \
  -batch \
  -ex 'set debuginfod enabled on' \
  -ex 'thread apply all bt'

A core dump is a copy of process memory and may contain credentials or private documents. Never commit or share it without careful handling.

Root cause

Symbolization localized the abort to:

lm_studio::system::QueryGpusVulkan()

LM Studio 0.4.20’s first-launch hardware survey attempted to query Vulkan. The VM exposed a Virtio GPU but no usable Vulkan ICD/device. The native helper threw an uncaught C++ exception and deliberately aborted with SIGABRT.

This was not a JavaScript failure despite the executable being LM Studio’s bundled Node binary.

Impact

Resolution

Update LM Studio beyond 0.4.20. If the crash repeats on the current version, collect the version, GPU/VM configuration, coredumpctl info, and symbolized backtrace, then report it to LM Studio.

Do not report a one-off application crash as an Omarchy bug unless evidence implicates Omarchy-owned configuration or packaging.

Verification

coredumpctl list

Confirm no repeated LM Studio crashes, then verify that LM Studio detects and uses the intended CPU or GPU backend.