oxide-qt 1.11.3-0ubuntu2 FTBFS on armhf due to compiler segfault

Bug #1527741 reported by Łukasz Zemczak
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gcc-5 (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

We tried doing a no-change rebuild of oxide-qt 1.11.3-0ubuntu1 (versioned as 1.11.3-0ubuntu2) and the build failed on armhf only. The reason is a compiler segfault:

In file included from ../../../../third_party/chromium/src/third_party/webrtc/common_audio/signal_processing/downsample_fast_neon.c:13:0:
/usr/lib/gcc/arm-linux-gnueabihf/5/include/arm_neon.h: In function 'WebRtcSpl_DownsampleFastNeon':
/usr/lib/gcc/arm-linux-gnueabihf/5/include/arm_neon.h:6831:10: internal compiler error: Segmentation fault
(...)

Full log and build link here: https://launchpad.net/ubuntu/+source/oxide-qt/1.11.3-0ubuntu2/+build/8458995

Looks like the previous oxide-qt successfully built version was built against gcc 5.2.1 while this time gcc 5.3.1 is used.

This is critical for us to fix as multiple Ubuntu Touch landings are now blocked due to LP: #1527544 - and the no-change rebuild is required to fix the broken situation.

Tags: ftbfs
Olivier Tilloy (osomon)
Changed in oxide-qt (Ubuntu):
status: New → Confirmed
Revision history for this message
Matthias Klose (doko) wrote :

this is not reproducible on the porter boxes. Please could you point me to a reproducer on a porter box?

and why do you file a bug report against gcc-5-cross when reporting an issue with the native compiler?

Changed in oxide-qt (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Matthias Klose (doko) wrote :

this needs the preprocessed source. the one in the build log is not that usable.

affects: gcc-5-cross (Ubuntu) → gcc-5 (Ubuntu)
Changed in gcc-5 (Ubuntu):
status: New → Incomplete
Revision history for this message
Matthias Klose (doko) wrote :

fixed gcc-5 in -proposed

Changed in gcc-5 (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
Matthias Klose (doko) wrote :

oxide-qt now ftbfs with:

../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c -o obj/third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/libvpx_new.treecoder.o
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c: In function 'tree2tok':
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c:32:9: error: invalid use of array with unspecified bounds
         const vp8_tree_index j = t[i++];
         ^
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c:32:34: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
         const vp8_tree_index j = t[i++];
                                  ^
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c: In function 'branch_counts':
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c:96:13: error: invalid use of array with unspecified bounds
             i = tree[ i + b];
             ^
../../../../third_party/chromium/src/third_party/libvpx_new/source/libvpx/vp8/common/treecoder.c:96:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
             i = tree[ i + b];
               ^
ninja: build stopped: subcommand failed.
make[3]: *** [CMakeFiles/gyp_all] Error 1
make[2]: *** [CMakeFiles/gyp_all.dir/all] Error 2
CMakeFiles/gyp_all.dir/build.make:52: recipe for target 'CMakeFiles/gyp_all' failed
make[3]: Leaving directory '/«PKGBUILDDIR»/obj-arm-linux-gnueabihf'
make[2]: *** Waiting for unfinished jobs....

it even fails earlier on a porter box

Changed in oxide-qt (Ubuntu):
status: Incomplete → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gcc-5 - 5.3.1-4ubuntu1

---------------
gcc-5 (5.3.1-4ubuntu1) xenial; urgency=medium

  * Revert the Linaro backport for PR target/63870 (ARM32). LP: #1527741.

gcc-5 (5.3.1-4) unstable; urgency=medium

  * Update to SVN 20151219 (r231847, 5.3.1) from the gcc-5-branch.
  * Fix cross-building without having the common cross libraries installed.
  * Update ada-m68k patch.
  * Allow unstripped, non-optimized debug builds with setting DEB_BUILD_OPTIONS
    including gccdebug.
  * Remove obsolete libgccmath packaging support.
  * Define SONAME macros whether the libraries are built or not.
  * Update the Linaro support to the 5-2015.12 snapshot (revert the backport
    for PR target/63870 (ARM32) causing regressions).
  * Set target tools and build dependencies for cross builds.
  * Build gdc on sh4.

 -- Matthias Klose <email address hidden> Sat, 19 Dec 2015 05:25:28 +0100

Changed in gcc-5 (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Olivier Tilloy (osomon) wrote :

The latest successful build of oxide on xenial was done on the 5th of December, against gcc 5.2.1-27ubuntu1.1. Xenial now has gcc 5.3.1-4ubuntu1, so there’s no going back to 5.2, we are gonna need to figure out how to build oxide against 5.3.

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

I can reproduce the build failure when building a standalone copy of libvpx (https://chromium.googlesource.com/webm/libvpx/) on a porter box:

$ make
    [CC] vp8/common/treecoder.c.o
vp8/common/treecoder.c: In function 'tree2tok':
vp8/common/treecoder.c:32:9: error: invalid use of array with unspecified bounds
         const vp8_tree_index j = t[i++];
         ^
vp8/common/treecoder.c:32:34: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
         const vp8_tree_index j = t[i++];
                                  ^
vp8/common/treecoder.c: In function 'branch_counts':
vp8/common/treecoder.c:96:13: error: invalid use of array with unspecified bounds
             i = tree[ i + b];
             ^
vp8/common/treecoder.c:96:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
             i = tree[ i + b];
               ^
Makefile:152: recipe for target 'vp8/common/treecoder.c.o' failed

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

And same issue when rebuilding libvpx’s package from source on xenial-proposed.

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

I filed bug #1528297 to track this issue separately, now that the original issue reported here has been fixed.

Changed in oxide-qt (Ubuntu):
status: New → Invalid
Mathew Hodson (mhodson)
Changed in gcc-5 (Ubuntu):
importance: Undecided → Critical
no longer affects: oxide-qt (Ubuntu)
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.