Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 747748 - mail-client/thunderbird-78.3.1: failed to compile: test/gtest/TestBlendAnimationFilter.cpp:255:6: internal compiler error: Segmentation fault
Summary: mail-client/thunderbird-78.3.1: failed to compile: test/gtest/TestBlendAnimat...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-11 00:02 UTC by ascendant512+gentoo
Modified: 2020-10-11 18:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info for thunderbird (thunderbird.info,19.85 KB, text/plain)
2020-10-11 00:04 UTC, ascendant512+gentoo
Details
emerge --info for thunderbird 78 (thunderbird.info.new,19.29 KB, text/plain)
2020-10-11 00:06 UTC, ascendant512+gentoo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ascendant512+gentoo 2020-10-11 00:02:57 UTC
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.
Comment 1 ascendant512+gentoo 2020-10-11 00:04:51 UTC
Created attachment 664573 [details]
emerge --info for thunderbird

limited use, but attaching emerge --info for thunderbird before successful update
Comment 2 ascendant512+gentoo 2020-10-11 00:06:03 UTC
Created attachment 664576 [details]
emerge --info for thunderbird 78

emerge --info for thunderbird after setting rust USE=rustfmt and it finished building successfully
Comment 3 ascendant512+gentoo 2020-10-11 00:24:58 UTC
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.
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2020-10-11 11:31:56 UTC
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.
Comment 5 ascendant512+gentoo 2020-10-11 18:30:33 UTC
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.