Bug 251020 - mail/thunderbird build failure
Summary: mail/thunderbird build failure
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-gecko (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-10 15:47 UTC by Steve Peurifoy
Modified: 2020-11-12 15:18 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (gecko)


Attachments
Partial build log (15.17 KB, text/plain)
2020-11-10 15:47 UTC, Steve Peurifoy
no flags Details
Partial rust build log (19.93 KB, text/plain)
2020-11-10 18:54 UTC, Steve Peurifoy
no flags Details
thunderbird build log (compressed) (124.32 KB, application/x-xz)
2020-11-10 22:22 UTC, Steve Peurifoy
no flags Details
rust build log (compressed) (174.75 KB, application/x-xz)
2020-11-10 22:23 UTC, Steve Peurifoy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Peurifoy 2020-11-10 15:47:44 UTC
Created attachment 219524 [details]
Partial build log

Overview: Attempt to build mail/thunderbird from ports tree rev 553560 using
poudriere on 12.2-RELEASE failed.

Steps to reproduce:

1. Create a 12.2-RELEASE poudriere jail on a 12.2-RELEASE host
2. Run 'poudriere bulk' specifying the jail and a port list including
mail/thunderbird

Actual result: build failure as shown in attached log snippet

Expected result: a successful build

System: FreeBSD <hostname> 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC  amd64

Note: Tried updating /usr/ports/mail/thunderbird to rev 554726 with no change.
Comment 1 VVD 2020-11-10 16:41:35 UTC
Comment on attachment 219524 [details]
Partial build log

Don't see in log installation of the rust.
> Installing icu-67.1,1
Why old icu? Quarterly?
Comment 2 Steve Peurifoy 2020-11-10 18:54:20 UTC
Created attachment 219529 [details]
Partial rust build log
Comment 3 Steve Peurifoy 2020-11-10 18:59:03 UTC
A (hopefully useful?) snippet of the rust log is attached now. Note that this is
from a build a few days earlier using ports rev 553560.  Let me know if you need
more - the whole thing is 7.5 MB.

> Why old icu? Quarterly?

Nope, I don't do quarterly.  It's the version I got when I did 'svn update' a
couple of weeks ago.
Comment 4 Jan Beich freebsd_committer 2020-11-10 22:03:24 UTC
(In reply to Steve Peurifoy from comment #0)
> [r122amd64-default-job-01] Extracting harfbuzz-2.7.2_1: .......... done
> =====
> ...
> ...
> [style 0.0.1] cargo:rerun-if-changed=/wrkdirs/usr/ports/mail/thunderbird/work/.build/dist/include/mozilla/ServoTypes.h
> [style 0.0.1] cargo:rerun-if-changed=/wrkdirs/usr/ports/mail/thunderbird/work/.build/dist/include/mozilla/dom/VisualViewport.h
> error: build failed

The actual error is somewhere within "..." (stripped). Provide full log if you can't locate it.

(In reply to Steve Peurifoy from comment #3)
> Let me know if you need more - the whole thing is 7.5 MB.

Compress or upload to a pastebin. Base system has xz(1) and zstd(1). For example,

$ fetch http://beefy6.nyi.freebsd.org/data/121amd64-default/554788/logs/firefox-82.0.3,2.log
$ zstd --ultra -22 firefox-82.0.3,2.log
$ xz -9ek firefox-82.0.3,2.log
$ du -Ah firefox*.log*
 13M    firefox-82.0.3,2.log
233K    firefox-82.0.3,2.log.xz
243K    firefox-82.0.3,2.log.zst

Old logs: http://beefy6.nyi.freebsd.org/data/latest-per-pkg/firefox/
Comment 5 Jan Beich freebsd_committer 2020-11-10 22:21:47 UTC
(In reply to Jan Beich from comment #4)
> Old logs: http://beefy6.nyi.freebsd.org/data/latest-per-pkg/firefox/

Replace "firefox" with "thunderbird" or any other package you want old build logs for. Maybe compare those logs with local ones to get an idea why the build may fail for you.
Comment 6 Steve Peurifoy 2020-11-10 22:22:12 UTC
Created attachment 219533 [details]
thunderbird build log (compressed)
Comment 7 Steve Peurifoy 2020-11-10 22:23:07 UTC
Created attachment 219534 [details]
rust build log (compressed)
Comment 8 Steve Peurifoy 2020-11-10 22:24:19 UTC
Compressed full build logs for thunderbird and rust attached.
Comment 9 Jan Beich freebsd_committer 2020-11-10 22:31:21 UTC
Comment on attachment 219533 [details]
thunderbird build log (compressed)

>  process didn't exit successfully: `.../webrender-e1eff54c5c57c23c/build-script-build` (signal: 11, SIGSEGV: invalid memory reference)

Could be a number of reasons: faulty hardware, kernel bug, broken lang/rust, aggressive optimizations, FFI ABI mismatch, etc. Find where core(5) file was dumped and use lldb(1) (or gdb(1)) to get a stacktrace from it. Make another build and get a stacktrace again. If each stacktrace looks different then it's likely due to hardware/kernel.
Comment 10 Steve Peurifoy 2020-11-10 22:56:57 UTC
OK, appears I'll have to change poudriere.conf to preserve wrkdirs
and my build machine is currently attempting to build chromium.

Experience suggests that it will be a while, but I'll do this when
I can.
Comment 11 Steve Peurifoy 2020-11-12 15:18:59 UTC
So after setting 'SAVE_WRKDIR=yes' and firing off another build, I got...

a successful build of thunderbird.

For a number of reasons, I seriously doubt that this is hardware.
The one difference that stands out to me is that in the two failed
instances, builds of other ports were happening on other cores of the
machine.  In the successful build, it was tbird all by itself.
Sample size too small to be conclusive though obviously.  Nothing
suspicious in dmesg/syslog at the time of the failures other than
the actual signal 11 notifications.

This will have to wait until I get a repeat occurrence unless someone
else trips over the same thing.

Thanks.