firefox FTBFS on s390x

Bug #1878292 reported by Olivier Tilloy
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
firefox (Ubuntu)
Fix Released
High
Olivier Tilloy
thunderbird (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned

Bug Description

Builds hang when trying to compile the third-party sqlite3 copy, during 7+ hours, before being killed. See e.g. https://launchpad.net/ubuntu/+source/firefox/76.0.1+build1-0ubuntu1/+build/19276095:

436:55.58 make[6]: *** [/<<BUILDDIR>>/firefox-76.0.1+build1/config/rules.mk:673: sqlite3.o] Killed
436:55.59 make[6]: Leaving directory '/<<BUILDDIR>>/firefox-76.0.1+build1/obj-s390x-linux-gnu/third_party/sqlite3/src'
436:55.59 make[5]: *** [/<<BUILDDIR>>/firefox-76.0.1+build1/config/recurse.mk:74: third_party/sqlite3/src/target-objects] Error 2

Revision history for this message
Olivier Tilloy (osomon) wrote :

This is the full compiler invokation used to build the sqlite3 copy:

/usr/bin/clang-10 -std=gnu99 -o sqlite3.o -c -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DSQLITE_SECUR
E_DELETE=1 -DSQLITE_THREADSAFE=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_DEFAULT_PAGE_SIZE=32768 -DSQLITE_MAX_DEFAULT_PAGE_SIZE=32768 -DSQLITE_OMIT_DEPRECAT
ED -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_DECLTYPE -DSQLITE_TEMP_STORE=2 '-DSQLITE_TEMP_FILE_PREFIX="mz_etilqs_"' -I/home/ubuntu/firefox.focal/third_party/sqlite3/src -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/third_pa
rty/sqlite3/src -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include/nspr -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include/nss -fPIC -include
/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -fPIC -pipe -g -O2 -fomit-frame-pointer -fun
wind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return
 -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=
tautological-type-limit-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security
-Wno-gnu-zero-variadic-macro-arguments -Wno-sign-compare -Wno-type-limits -fexperimental-new-pass-manager -MD -MP -MF .deps/sqlite3.o.pp /home/ubuntu/firefox.focal/third_party/sqlite3/src/sqlite3.c

I can reliably reproduce the indefinite hang on s390x. If I replace the optimization flag "-O2" by "-O0", the build succeeds almost instantly. "-O1" seems to hang too, so it looks like clang on s390x has trouble optimizing the sqlite3 code.

Revision history for this message
Olivier Tilloy (osomon) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package firefox - 76.0.1+build1-0ubuntu2

---------------
firefox (76.0.1+build1-0ubuntu2) groovy; urgency=medium

  * Update apparmor profile to allow lsb_release to run with more recent
    versions of Python 3 (LP: #1861408)
    - debian/usr.bin.firefox.apparmor.14.10
  * Work around clang hanging forever when trying to optimize the build of the
    embedded copy of sqlite3 (LP: #1878292)
    - debian/patches/s390x-workaround-sqlite3-clang-optimization-hang.patch

 -- Olivier Tilloy <email address hidden> Tue, 12 May 2020 23:11:11 +0200

Changed in firefox (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Olivier, or anyone else affected,

Accepted thunderbird into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/thunderbird/1:78.7.1+build1-0ubuntu0.20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-focal
Mathew Hodson (mhodson)
Changed in thunderbird (Ubuntu):
status: New → Fix Released
Olivier Tilloy (osomon)
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Robie Basak (racb) wrote : Update Released

The verification of the Stable Release Update for thunderbird has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Olivier, or anyone else affected,

Accepted thunderbird into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/thunderbird/1:78.8.1+build1-0ubuntu0.18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in thunderbird (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Olivier Tilloy (osomon) wrote :

thunderbird 1:78.8.1+build1-0ubuntu0.18.04.1 in bionic-proposed successfully built on s390x.

tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package thunderbird - 1:78.8.1+build1-0ubuntu0.18.04.1

---------------
thunderbird (1:78.8.1+build1-0ubuntu0.18.04.1) bionic; urgency=medium

  * New upstream stable release (78.8.1build1) (LP: #1895643)
    - debian/config/branch.mk
  * Bump build dependency on rustc >= 1.41.0 and cargo >= 0.42
    - debian/control{,.in}
  * Bump build dependency on nodejs-mozilla >= 10.21
    - debian/control{,.in}
  * Bump build dependency on nasm-mozilla >= 2.14.02
    - debian/control{,.in}
  * Bump build dependency on debhelper >= 9
    - debian/compat
    - debian/control{,.in}
  * Port packaging to python3
    - debian/build/Expression.py
    - debian/build/Preprocessor.py
    - debian/build/create-tarball.py
    - debian/build/fix-mozinfo-appname.py
    - debian/build/keepalive-wrapper.py
    - debian/build/rules.mk
    - debian/build/xpi-id.py
    - debian/control{,.in}
  * Clean up unused code paths in packaging rules
    - debian/rules
    - debian/build/config.mk
    - debian/config/mozconfig.in
  * Update cbindgen to 0.17.0
    - debian/build/create-tarball.py
  * Work around clang hanging forever when trying to optimize the build of the
    embedded copy of sqlite3 (LP: #1878292)
    - debian/patches/s390x-workaround-sqlite3-clang-optimization-hang.patch
  * Remove obsolete config options
    - debian/config/mozconfig.in
  * Allow sideloading langpacks (LP: #1866059)
    - debian/config/mozconfig.in
  * Make xul-ext-lightning a transitional empty package, now that calendar
    functionality is part of the Thunderbird core
    - debian/build/rules.mk
    - debian/control{,.in}
    - debian/rules
  * Separately installed blocklist.xml was removed
    - debian/thunderbird.install.in
  * Install WeTransfer extension to the features directory
    - debian/thunderbird.install.in
  * Add the following locales: af, en-CA, fa, ja-JP-mac, pa-IN, th
    - update debian/config/locales.{all,shipped}
  * Remove upstreamed patch
    - debian/patches/nss_disable_fips_enabled_flag.patch
  * Update and rename patch to selectively reduce debug info level
    - debian/patches/reduce-rust-debuginfo-on-selected-architectures.patch
  * Refresh patches
    - debian/patches/rust-drop-dll-checksums.patch
    - debian/patches/support-coinstallable-trunk-build.patch
  * Updates patches
    - debian/patches/unity-menubar.patch
  * Cherry-pick 3 upstream commits to fix building ICU on big-endian
    architectures (e.g. s390x)
    - debian/patches/upstream-icu-fixes.patch
  * Add a missing linker flag to build icupkg on s390x
    - debian/patches/s390x-fix-icupkg-build.patch
  * Drop armel arch references
    - debian/control{,.in}
    - debian/build/rules.mk
  * Add generic logic to target different LLVM toolchains
    - debian/config/mozconfig.in
    - debian/control{,.in}
    - debian/build/rules.mk
  * Make thunderbird suggest libotr5
    - debian/control{,.in}
  * Add versioned breaks on enigmail and jsunit
    - debian/control{,.in}
  * Allow the use of external GPG keyrings by default
    - debian/vendor.js

 -- Olivier Tilloy <email address hidden> Wed, 17 Mar 2021 15:37:52 +0100

Changed in thunderbird (Ubuntu Bionic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.