Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jul 2025 23:30:48 +0200
From:      "Herbert J. Skuhra" <herbert@gojira.at>
To:        Kevin Bowling <kevin.bowling@kev009.com>
Cc:        Dimitry Andric <dim@freebsd.org>, Lexi Winter <ivy@freebsd.org>, current@freebsd.org, arm@freebsd.org, Kevin Bowling <kbowling@freebsd.org>
Subject:   Re: LLVM broken on main (arm64)?
Message-ID:  <87v7nde2yf.wl-herbert@gojira.at>
In-Reply-To: <CAK7dMtBJ32f-53y7=KZ7_%2BVben2pVigtRfi=cHCfD9FPMChV0w@mail.gmail.com>
References:  <aIYDGj8gmnRu_mdN@mail.bsd4all.net> <BDE5739A-EE34-4A49-8E88-AB606A0DDE5E@FreeBSD.org> <aIYOnFLkskxEgifl@freefall.freebsd.org> <7F8E9486-3FF5-436F-B584-8ACB7BCF1BAD@FreeBSD.org> <CAK7dMtBJ32f-53y7=KZ7_%2BVben2pVigtRfi=cHCfD9FPMChV0w@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

On Sun, 27 Jul 2025 21:41:13 +0200, Kevin Bowling wrote:
> 
> On Sun, Jul 27, 2025 at 4:58 AM Dimitry Andric <dim@freebsd.org> wrote:
> >
> > On 27 Jul 2025, at 13:33, Lexi Winter <ivy@freebsd.org> 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?
> >
> > I think it's likely that Kevin's
> > https://reviews.freebsd.org/D50388 /
> > https://cgit.freebsd.org/src/commit/?id=9b3055d0d4bc is the cause:
> > it flips MK_LLVM_ASSERTIONS from "yes" to "no" by default. My
> > guess is that some objects, libraries or binaries do not get
> > rebuilt, leading to inconsistencies.
> >
> > There probably has to be another depend-cleanup.sh hack to get
> > over this. Another complication is that in depend-cleanup.sh you
> > don't have access to the MK_xxx options from src.opts.mk.
> 
> That would not be fun because the idea is to allow someone to easily
> toggle both directions, and not blow up the noclean build time for
> everyone unconditionally whacking libprivatellvm.so or the like unless
> there is a trivial way to detect the change.
> 
> I am inclined to back this out if someone can confirm simply setting
> WITH_LLVM_ASSERTIONS fixed the issue.

I updated two amd64 systems without any issues.

After fixing my arm64 system with llvm19 from ports I tried the
following:

- Disable WITH_CCACHE_BUILD in /etc/src.conf
- Wipe /usr/obj
- Build and install 92dfc3fbcd79 and reboot
- Build and install 6c4771c73470 and reboot

Result: no issues

So I guess the problem was caused by ccache but I have no idea why it
only failed on arm64. I also use ccache on the other systems.

--
Herbert


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87v7nde2yf.wl-herbert>