Bug#1152538: lldb-22: SymbolLocatorDebuginfod download failure aborts the host lldb process (CachedFileStream was not committed)
LiRvs-Miria
1753531985 at qq.com
Fri Oct 30 10:02:25 GMT 2026
Package: lldb-22
Version: 1:22.1.8-1~deb13u4
Severity: important
Tags: upstream
X-Debbugs-Cc: 1753531985 at qq.com
Dear Maintainer,
lldb aborts (the host lldb process itself dies with SIGABRT) when the
SymbolLocatorDebuginfod plugin fails to download an artifact — server
slow, unreachable, or transfer timeout. On the package default
configuration this makes lldb unusable for any binary without local
debug info but with a valid build-id, and each such session first
appears to hang for ~90 s (default debuginfod timeout).
Reproducer (no setup needed; the package default for
plugin.symbol-locator.debuginfod.server-urls is
https://debuginfod.debian.net/):
$ lldb -b -o run -- /bin/true
# ~90 s pause, then:
LLVM ERROR: CachedFileStream was not committed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ ...
LLVM ERROR: CachedFileStream was not committed.
Aborted
Mechanism: the download-failure path leaves a llvm::CachedFileStream
un-committed; llvm/include/llvm/Support/Caching.h:55 then calls
report_fatal_error("CachedFileStream was not committed.") from its
destructor, inside a liblldb thread-pool task, aborting the whole
debugger instead of only giving up on the lookup. Release/stripped
binaries (no local debug info, valid build-id) hit this on every
default-config session.
Fixed upstream after this version:
- issue: https://github.com/llvm/llvm-project/issues/184728
(closed as completed 2026-10-16; #222325 closed as duplicate)
- fix: https://github.com/llvm/llvm-project/pull/232038
("[debuginfod] Abort cached file stream if request fails")
- backported to release/23.x: https://github.com/llvm/llvm-project/pull/232693
- not present in 22.1.8 (reproduced here) nor in the release/22.x
branch as of 2026-10-30.
Workaround (verified stable, 3/3 runs each):
settings set plugin.symbol-locator.debuginfod.timeout 1
or, to skip the lookup entirely:
settings set plugin.symbol-locator.debuginfod.server-urls ""
Note: DEBUGINFOD_TIMEOUT=1 was NOT sufficient in testing (still
aborted, only faster), and symbols.enable-lldb-index-cache is
unrelated (default false).
Please consider backporting the upstream fix to llvm-toolchain-22 for
a Debian 13 (trixie) point update.
Full unsymbolized crash backtrace (liblldb thread-pool frames +
report_fatal_error) and an LLDB diagnostics bundle (/tmp/diagnostics-*)
are available on request.
-- System Information:
Debian Release: 13.7
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.113+deb13-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
More information about the Pkg-llvm-team
mailing list