Re: LLVM broken on main (arm64)?

From: Herbert J. Skuhra <herbert_at_gojira.at>
Date: Mon, 28 Jul 2025 08:01:13 UTC
On Mon, 28 Jul 2025 04:34:49 +0200, cyric@mm.st wrote:
> 
> Lexi Winter wrote:
> > Dimitry Andric:
> >> On 27 Jul 2025, at 12:44, Herbert J. Skuhra <herbert@gojira.at> wrote:
> >>>
> >>> after updating from main-n279078-1f2c178e5688 to
> >>> main-n279105-9b3055d0d4bc (arm64) I have the following issue:
> >>>
> >>> $ cc
> >>> PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
> >>> Stack dump:
> >>> 0.      Program arguments: cc
> >>> 1.      Compilation construction
> >>> Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
> >>> 0  libprivatellvm.so.19 0x00000edc041485ec llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 72
> >>> 1  libprivatellvm.so.19 0x00000edc041464ec llvm::sys::RunSignalHandlers() + 128
> >>> 2  libprivatellvm.so.19 0x00000edc04148d48 llvm::support::detail::provider_format_adapter<int>::format(llvm::raw_ostream&, llvm::StringRef) + 412
> >>> 3  libthr.so.3          0x00000edc06bafc38 _pthread_sigmask + 1320
> >>> Segmentation fault
> >>
> >> That's a very short trace, with no useful information. Maybe installworld was half-finished?
> > 
> > i am seeing something similar on amd64 after updating past 9b3055d0d4bc:
> > 
> > 1& 1? 172!freebsd15 ~/src/bsd/dev [lf/dev/pkgbase-toolchain]% cc
> > 
> > PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
> > Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
> > 0  libprivatellvm.so.19 0x00001ca34ed8f2c9 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 57
> > 1  libprivatellvm.so.19 0x00001ca34ed8d185 llvm::sys::RunSignalHandlers() + 85
> > 2  libprivatellvm.so.19 0x00001ca34ed8f9d7 llvm::support::detail::provider_format_adapter<int>::format(llvm::raw_ostream&, llvm::StringRef) + 375
> > 3  libthr.so.3          0x00001ca352fc88ec _pthread_sigmask + 1340
> > 4  libthr.so.3          0x00001ca352fc7ebb pthread_signals_unblock_np + 1467
> > 5  libthr.so.3          0x00001ca34449d2d3 pthread_signals_unblock_np + 18446744073462962643
> > 6  libprivatellvm.so.19 0x00001ca34d5b28be llvm::cl::opt<int, false, llvm::cl::parser<int>>::~opt() + 62
> > 7  libc.so.7            0x00001ca35434131f __cxa_finalize + 351
> > [2]    5802 bus error (core dumped)  cc
> > 
> > i'm using pkgbase so unlikely to be a partial install.  could it be that
> > this change requires a clean build?
> 
> And it looks like this for me, amd64, WITHOUT_CLEAN build (default):
> 
> $ cc --version
> FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
> llvmorg-19.1.7-0-gcd708029e0b2)
> Target: x86_64-unknown-freebsd15.0
> Thread model: posix
> InstalledDir: /usr/bin
> Build config: +assertions
> zsh: abort (core dumped)  cc --version

I've updated another amd64 system from 92dfc3fbcd79 to f2de5a6dd7bb
(without ccache or META_MODE). Clang doesn't crash but still shows
"Build config: +assertions". So I guess something is not rebuilt
properly.

On a clean build:

$ clang --version
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
Target: x86_64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin

--
Herbert