Re: Troubles building world on stable/13
- Reply: bob prohaska : "Re: Troubles building world on stable/13"
- In reply to: Mark Millard : "Re: Troubles building world on stable/13"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 22 Jan 2022 07:14:32 UTC
On 2022-Jan-21, at 16:02, Mark Millard <marklmi@yahoo.com> wrote: > [I've switched back to messages with the original subject to > avoid mixing the issues.] > > On 2022-Jan-20, at 22:00, Mark Millard <marklmi@yahoo.com> wrote: > >> On 2022-Jan-20, at 19:16, bob prohaska <fbsd@www.zefox.net> 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 (git@github.com: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. > I see that there is: http://www.zefox.net/~fbsd/rpi3/20220121/ with a .cpp and .sh pair (f5c28a). I downloaded the two and tried the .sh under stable/13 and main and got no failures. (But it was not an RPi* at all.) For reference: # uname -apKU FreeBSD CA72_16Gp_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #37 main-n252475-e76c0108990b-dirty: Sat Jan 15 21:53:08 PST 2022 root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1400047 1300524 (The above is a chroot use into an area that can be used with bectl to boot the machine.) # uname -apKU FreeBSD CA72_16Gp_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #37 main-n252475-e76c0108990b-dirty: Sat Jan 15 21:53:08 PST 2022 root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1400047 1400047 It does no good for me since I do not get a failure, but you might try (instead of exectuing the .sh file) (I used \'s to split the huge line): lldb -- "/usr/bin/c++" "-cc1" "-triple" "aarch64-unknown-freebsd13.0" "-emit-obj" "--mrelax-relocations" \ "-disable-free" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "gmock_main.cc" \ "-mrelocation-model" "static" "-mframe-pointer=non-leaf" "-fno-rounding-math" "-mconstructor-aliases" \ "-munwind-tables" "-target-cpu" "generic" "-target-feature" "+neon" "-target-abi" "aapcs" \ "-fallow-half-arguments-and-returns" "-debug-info-kind=standalone" "-dwarf-version=4" \ "-debugger-tuning=gdb" \ "-fcoverage-compilation-dir=/usr/obj/usr/src/arm64.aarch64/lib/googletest/gmock_main" \ "-O2" "-Wno-format-zero-length" "-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" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" \ "-Wno-c++11-extensions" "-std=c++11" "-fdeprecated-macro" \ "-fdebug-compilation-dir=/usr/obj/usr/src/arm64.aarch64/lib/googletest/gmock_main" \ "-ferror-limit" "19" "-stack-protector" "2" "-fno-signed-char" "-fgnuc-version=4.2.1" \ "-fcxx-exceptions" "-fexceptions" "-vectorize-loops" "-vectorize-slp" "-faddrsig" \ "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c++" "gmock_main-f5c28a.cpp" and then "run" at the (lldb) prompt. It might stop and let you get a backtrace (bt command) in addition to whatever it reports about the stoppage. In my environment the 2 references to: /usr/obj/usr/src/arm64.aarch64/lib/googletest/gmock_main have no such directory available. In my context it would be: /usr/obj/BUILDs/13S-CA72-nodbg-clang/usr/13S-src/arm64.aarch64/lib/googletest/gmock_main But using the path instances for my context still did not recreate the failure. The command just added "lldb -- " in front of what was in the .sh file, other than my line splits for the email. === Mark Millard marklmi at yahoo.com