I'm not completely sure about this interpretation, since the logged error and actual failure are soooooo far apart, but it is the only thing that makes sense given the result: Thunderbird appears to build normally (log output indicates success) but mach exits with code 2 and the build process interprets it as a failure. See lines in end of build log: 50:12.43 Finished release [optimized] target(s) in 48m 13s ... 50:12.64 gmake: *** [client.mk:125: build] Error 2 and the start: 46:20.17 [style 0.0.1] Failed to run rustfmt: No such file or directory (os error 2) (non-fatal, continuing) (and other similar lines) Reproducible: Always Steps to Reproduce: 1. $ USE=-rustfmt emerge rust 1.1 wait an hour 2. $ emerge thunderbird 2.1. wait another hour Actual Results: * ERROR: mail-client/thunderbird-78.3.1::gentoo failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 4415: Called die * The specific snippet of code: * ${virtx_cmd} ./mach build --verbose || die Expected Results: >>> Jobs: 1 of 1 complete Load avg: 2.56, 3.89, 4.87 The log provided is with dev-lang/rust-1.45.2, however the error pattern was exactly the same with dev-lang/rust-1.46.0. I had tried downgrading rust to see if that helped.
Created attachment 664573 [details] emerge --info for thunderbird limited use, but attaching emerge --info for thunderbird before successful update
Created attachment 664576 [details] emerge --info for thunderbird 78 emerge --info for thunderbird after setting rust USE=rustfmt and it finished building successfully
URL for hosted build directory: https://0ez.org/serve/2020-10-10_tbird.tar.xz This contains the build log, I get a 500 error from bugs.gentoo.org when attaching the compressed build.log tar xvf 2020-10-10_tbird.tar.xz thunderbird-78.3.1/temp/build.log As mentioned above, Thunderbird seems to build OK without rustfmt so it would be nice if the ebuild could just be edited to ignore the error. I don't see how to do that, though. A final note: the pattern is exactly the same for www-client/firefox-78.3.1:0/esr78 - it builds with rust[rustfmt] and fails without it. I can open a new, sparse bug for that package if it's necessary - I don't have any of the logs, though.
No, rustfmt is not required. Your error is > 43:13.70 gfx/skia/Unified_cpp_gfx_skia6.o > 43:13.70 /usr/bin/x86_64-pc-linux-gnu-g++ -std=gnu++17 -o Unified_cpp_gfx_skia5.o -c -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/stl_wrappers -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/system_wrappers -include /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DSKIA_IMPLEMENTATION=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/gfx/skia -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/gfx/skia -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/gfx/skia/skia -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/gfx/skia/skia/include/third_party/skcms -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include -I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/nss -I/usr/include/pixman-1 -fPIC -DMOZILLA_CLIENT -include /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-multistatement-macros -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat -Wformat-security -Wformat-overflow=2 -fno-sized-deallocation -fno-aligned-new -march=native -pipe -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables -Wno-deprecated-declarations -Wno-overloaded-virtual -Wno-shadow -Wno-sign-compare -Wno-unreachable-code -Wno-unused-function -Wno-logical-op -Wno-maybe-uninitialized -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/cairo -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/lib64/libffi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -MD -MP -MF .deps/Unified_cpp_gfx_skia5.o.pp -fdiagnostics-color Unified_cpp_gfx_skia5.cpp > 43:14.56 during GIMPLE pass: thread > 43:14.56 In file included from /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/gtest/gtest.h:59, > 43:14.56 from /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/image/test/gtest/Common.h:11, > 43:14.56 from /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/image/test/gtest/Common.cpp:6, > 43:14.56 from Unified_cpp_image_test_gtest0.cpp:2: > 43:14.56 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/image/test/gtest/TestBlendAnimationFilter.cpp: In member function 'virtual void ImageBlendAnimationFilter_RestorePreviousWithOver_Test::TestBody()': > 43:14.56 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/image/test/gtest/TestBlendAnimationFilter.cpp:255:6: internal compiler error: Segmentation fault > 43:14.56 255 | TEST(ImageBlendAnimationFilter, RestorePreviousWithOver) > 43:14.57 | ^~~~~~~~~~~~~~~~~~~~~~~~~ > 43:14.57 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/gtest/internal/gtest-internal.h:1304:3: note: in definition of macro 'GTEST_TEST_CLASS_NAME_' > 43:14.57 1304 | test_case_name##_##test_name##_Test > 43:14.57 | ^~~~~~~~~~~~~~ > 43:14.57 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/gtest/gtest.h:2282:3: note: in expansion of macro 'GTEST_TEST_' > 43:14.57 2282 | GTEST_TEST_(test_case_name, test_name, \ > 43:14.57 | ^~~~~~~~~~~ > 43:14.57 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird_build/dist/include/gtest/gtest.h:2288:42: note: in expansion of macro 'GTEST_TEST' > 43:14.57 2288 | # define TEST(test_case_name, test_name) GTEST_TEST(test_case_name, test_name) > 43:14.57 | ^~~~~~~~~~ > 43:14.57 /var/tmp/portage/mail-client/thunderbird-78.3.1/work/thunderbird-78.3.1/image/test/gtest/TestBlendAnimationFilter.cpp:255:1: note: in expansion of macro 'TEST' > 43:14.58 255 | TEST(ImageBlendAnimationFilter, RestorePreviousWithOver) > 43:14.58 | ^~~~ > 43:14.59 Please submit a full bug report, > 43:14.59 with preprocessed source if appropriate. > 43:14.59 See <https://bugs.gentoo.org/> for instructions. You probably run out of memory during compile. Check memory and dmesg and lower MAKEOPTS or ensure that you don't run anything else while building firefox.
Thanks for checking. My emerge settings do cause builds to use a lot of memory, but I've learned to discover the cause of build failures when I run out. I have no OOMs in messages and thunderbird failed to build several times over the past three days. Despite the --jobs 4, in this case rust, thunderbird and firefox were built one at a time and I was never close to running out. I see Thunderbird updated to 78.3.2 and I can no longer replicate the build failure with rust[-rustfmt]. I also can't replicate it with firefox anymore. I'll close.