llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.3k stars 11.68k forks source link

llvm-symbolizer doesn't work for apt.llvm.org releases #109282

Open bgemmill opened 2 weeks ago

bgemmill commented 2 weeks ago

@sylvestre requested this be made into it's own issue.

While investigating 109037, stack traces from the apt.llvm.org release of clangd only show binary addresses even when llvm-symbolizer is installed and on the path, like this:

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
 #0 0x000075eb0e08abdf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec6bdf)
 #1 0x000075eb0e0888e9 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec48e9)
 #2 0x000075eb0e08b330 (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec7330)
 #3 0x000075eb0c321320 (/lib/x86_64-linux-gnu/libc.so.6+0x45320)
 #4 0x000075eb0e022598 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef, unsigned int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xe5e598)
 #5 0x000062213975bf26 (/usr/bin/clangd+0x66cf26)
 #6 0x000062213975a408 (/usr/bin/clangd+0x66b408)
 #7 0x0000622139d7ac5f (/usr/bin/clangd+0xc8bc5f)
 #8 0x00006221394db096 (/usr/bin/clangd+0x3ec096)
 #9 0x000062213957d989 (/usr/bin/clangd+0x48e989)
#10 0x0000622139580d7d (/usr/bin/clangd+0x491d7d)
#11 0x0000622139579b90 (/usr/bin/clangd+0x48ab90)
#12 0x00006221395796eb (/usr/bin/clangd+0x48a6eb)
#13 0x00006221396e2841 (/usr/bin/clangd+0x5f3841)
#14 0x000075eb0c378a94 (/lib/x86_64-linux-gnu/libc.so.6+0x9ca94)
#15 0x000075eb0c405c3c (/lib/x86_64-linux-gnu/libc.so.6+0x129c3c)
Signalled during AST worker action: Update

@vient mentioned this was because the binaries there are stripped, and it doesn't look like the repository has a set of -dbg packages to install to provide symbols.

Could llvm-symbolizer be made to work with the binaries provided from apt.llvm.org in some way?

llvmbot commented 2 weeks ago

@llvm/issue-subscribers-tools-llvm-symbolizer

Author: Ben Gemmill (bgemmill)

@sylvestre requested this be made into it's own issue. While investigating [109037](https://github.com/llvm/llvm-project/issues/109037), stack traces from the apt.llvm.org release of clangd only show binary addresses even when llvm-symbolizer is installed and on the path, like this: ``` PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. #0 0x000075eb0e08abdf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec6bdf) #1 0x000075eb0e0888e9 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec48e9) #2 0x000075eb0e08b330 (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xec7330) #3 0x000075eb0c321320 (/lib/x86_64-linux-gnu/libc.so.6+0x45320) #4 0x000075eb0e022598 llvm::StringMapImpl::LookupBucketFor(llvm::StringRef, unsigned int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.1+0xe5e598) #5 0x000062213975bf26 (/usr/bin/clangd+0x66cf26) #6 0x000062213975a408 (/usr/bin/clangd+0x66b408) #7 0x0000622139d7ac5f (/usr/bin/clangd+0xc8bc5f) #8 0x00006221394db096 (/usr/bin/clangd+0x3ec096) #9 0x000062213957d989 (/usr/bin/clangd+0x48e989) #10 0x0000622139580d7d (/usr/bin/clangd+0x491d7d) #11 0x0000622139579b90 (/usr/bin/clangd+0x48ab90) #12 0x00006221395796eb (/usr/bin/clangd+0x48a6eb) #13 0x00006221396e2841 (/usr/bin/clangd+0x5f3841) #14 0x000075eb0c378a94 (/lib/x86_64-linux-gnu/libc.so.6+0x9ca94) #15 0x000075eb0c405c3c (/lib/x86_64-linux-gnu/libc.so.6+0x129c3c) Signalled during AST worker action: Update ``` @vient mentioned this was because the binaries there are stripped, and it doesn't look like [the repository](https://apt.llvm.org/noble/dists/llvm-toolchain-noble-19/main/binary-amd64/Packages) has a set of -dbg packages to install to provide symbols. Could llvm-symbolizer be made to work with the binaries provided from apt.llvm.org in some way?