Re: Troubles building world on stable/13

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
[I've switched back to messages with the original subject to
avoid mixing the issues.]

On 2022-Jan-20, at 22:00, Mark Millard <[email protected]> wrote:

> On 2022-Jan-20, at 19:16, bob prohaska <[email protected]> wrote:
> 
>> The last few attempts to build world on a Pi3 running stable/13 have
>> stopped with something like:
>> 
>> --- all_subdir_lib/googletest/gmock ---
>> ===> lib/googletest/gmock (all)
>> Building /usr/obj/usr/src/arm64.aarch64/lib/googletest/gmock/gmock-all.o
>> --- gmock-all.o ---
>> 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: c++ -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -O2 -pipe -fno-common -g -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wredundant-decls -Wmissing-variable-declarations -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-variable -Qunused-arguments -I/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/private -I/usr/src/contrib/googletest/googlemock/include -I/usr/src/contrib/googletest/googlemock -I/usr/src/contrib/googletest/googletest/include -g -std=c++11 -Wno-deprecated-declarations -Wno-deprecated-copy -Wno-c++11-extensions -c /usr/src/contrib/googletest/googlemock/src/gmock-all.cc -o gmock-all.o
>> 1.      /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/private/gtest/internal/gtest-type-util.h:1125:53: current parser token '{'
>> 2.      /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/private/gtest/internal/gtest-type-util.h:58:1: parsing namespace 'testing'
>> --- all_subdir_lib/clang ---
>> Building /usr/obj/usr/src/arm64.aarch64/lib/clang/libllvm/X86GenEVEX2VEXTables.inc
>> Building /usr/obj/usr/src/arm64.aarch64/lib/clang/libllvm/X86GenFastISel.inc
>> --- all_subdir_lib/googletest ---
>> #0 0x0000000004112640 PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:13
>> #1 0x0000000004110a84 __cxx_atomic_store<CallbackAndCookie::Status> /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/atomic:996:5
>> #2 0x0000000004110a84 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/atomic:1617:10
>> #3 0x0000000004110a84 RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:99:16
>> #4 0x00000000040b4f08 HandleCrash /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:76:5
>> #5 0x00000000040b4f08 CrashRecoverySignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:389:51
>> #6 0x00000000452bad80 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3
>> c++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
>> FreeBSD clang version 13.0.0 ([email protected]:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
>> Target: aarch64-unknown-freebsd13.0
>> Thread model: posix
>> InstalledDir: /usr/bin
>> c++: note: diagnostic msg: 
>> ********************
>> 
>> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
>> Preprocessed source(s) and associated run script(s) are located at:
>> c++: note: diagnostic msg: /tmp/gmock-all-836ef8.cpp
>> c++: note: diagnostic msg: /tmp/gmock-all-836ef8.sh
>> c++: note: diagnostic msg: 
>> 
>> ********************
>> *** [gmock-all.o] Error code 139
> 
> So: SIGSEGV (signal 11)
> 
>> make[6]: stopped in /usr/src/lib/googletest/gmock
>> .ERROR_TARGET='gmock-all.o'
>> .ERROR_META_FILE='/usr/obj/usr/src/arm64.aarch64/lib/googletest/gmock/gmock-all.o.meta'
>> .MAKE.LEVEL='6'
>> MAKEFILE=''
>> .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose'
>> 
>> make[4]: stopped in /usr/src/lib
>> --- all_subdir_lib/clang ---
>> 
>> FWIW, filemon is enabled in /boot/loader.conf and the build command was
>> make -j2 -DWITH_META_MODE  buildworld > buildworld.log
>> 
>> This doesn't appear to be ARM-specific in any obvious way, but it might
>> be, so I'm posting here first.
>> 
> 
> "uname -apKU" output from the building environment?
> 
> Commit identification for the /usr/src/ for stable/13
> that is being built?
> 
> Any console messages? dmesg -a output of interest?
> /var/log/messasges content of interest?
> 
> Any messages of interest somewhat earlier in the
> buildworld.log ?
> 
> Does the problem repeat via using the files:
> 
> /tmp/gmock-all-836ef8.cpp
> /tmp/gmock-all-836ef8.sh
> 
> on that RPi3? Elsewhere that has more resources, such
> as more RAM?

I do not see anything between your:

Thank you, the script reports:
branch: stable/13
merge-base: d7b156672a48c37e1b8ce9b4ae28a46ecea55412
merge-base: CommitDate: 2022-01-21 15:58:11 +0000
d7b156672a4 (HEAD -> stable/13, freebsd/stable/13) zone.9: Remove documentation of non-existent NUMA configuration flags
n249092 (--first-parent --count for merge-base)

and where I'm at for stable/13:

branch: stable/13
merge-base: a5f69859956049b5153b0e1b67f8f4a99622dc6f
merge-base: CommitDate: 2022-01-15 12:55:32 +0000
a5f698599560 (HEAD -> stable/13, freebsd/stable/13) Ignore debugger-injected signals left after detaching
n249004 (--first-parent --count for merge-base)

that would seem a likely explanation for why I
did not see the problem when I built.

The same goes for between your stable/13-n248948-9418a626103
starting point and where my stable/13 environment is at.

(In my case, I also build for poudriere and chroot trees,
not just booting. So multiple builds are involved in the
sequence.)

I've not come up with any ideas beyond the 2:

A) Trying the two files that failure produced for attempted
reproduction of the problem (such as):

/tmp/gmock-all-836ef8.cpp
/tmp/gmock-all-836ef8.sh

but in other system-clang 13 contexts to see if the problem is
reproducible off that RPi3*.

B) Doing the /usr/obj/. . . cleanout and then a build-from-scratch
attempt.

===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.