Unity8 build causes internal compiler error on armhf

Bug #1417664 reported by Michał Sawicz
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gcc
Fix Released
Medium
gcc-4.9 (Ubuntu)
Fix Released
High
Matthias Klose
unity-scopes-shell (Ubuntu)
Fix Released
Critical
Paweł Stołowski
unity8 (Ubuntu)
Fix Released
Critical
Michał Sawicz

Bug Description

I've encountered this first today, thought this was a problem with some of my MPs, but have reduced them to no-op and the unity8 trunk does not build on armhf in the PPAs:

In file included from /build/buildd/unity8-8.02+15.04.20150203.7/tests/mocks/Unity/fake_scopes.cpp:21:0:
/build/buildd/unity8-8.02+15.04.20150203.7/tests/mocks/Unity/fake_scopesoverview.h: At global scope:
/build/buildd/unity8-8.02+15.04.20150203.7/tests/mocks/Unity/fake_scopesoverview.h:27:7: internal compiler error: in symtab_remove_unreachable_nodes, at ipa.c:547
 class ScopesOverview : public Scope
       ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.

https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-021/+sourcepub/4753156/+listing-archive-extra

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: gcc-4.9 4.9.2-10ubuntu3
ProcVersionSignature: Ubuntu 3.18.0-12.13-generic 3.18.4
Uname: Linux 3.18.0-12-generic x86_64
ApportVersion: 2.15.1-0ubuntu4
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Feb 3 17:59:59 2015
SourcePackage: gcc-4.9
SystemImageInfo:
 current build number: 0
 device name:
 channel: daily
 last update: Unknown
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :
kevin gunn (kgunn72)
Changed in gcc-4.9 (Ubuntu):
importance: Undecided → Critical
Alexander Sack (asac)
Changed in gcc-4.9 (Ubuntu):
assignee: nobody → Matthias Klose (doko)
Revision history for this message
Matthias Klose (doko) wrote :

a preprocessed source would help

Changed in gcc-4.9 (Ubuntu):
status: New → Incomplete
Revision history for this message
Colin Watson (cjwatson) wrote :

(vivid-armhf)cjwatson@shedir:~/unity8-8.02+15.04.20150123.3/obj-arm-linux-gnueabihf/tests/mocks/Unity$ /usr/bin/arm-linux-gnueabihf-g++-4.9 -DFakeUnityQml_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_QML_LIB -DQT_QUICK_LIB -DQT_STRICT_ITERATORS -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fvisibility=hidden -std=c++11 -fno-permissive -pedantic -Wall -Wextra -fPIC -I/home/cjwatson/unity8-8.02+15.04.20150123.3/include -I/home/cjwatson/unity8-8.02+15.04.20150123.3/obj-arm-linux-gnueabihf/include -I/home/cjwatson/unity8-8.02+15.04.20150123.3/obj-arm-linux-gnueabihf/tests/mocks/Unity -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -isystem /usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQuick -isystem /usr/include/arm-linux-gnueabihf/qt5/QtQml -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -o CMakeFiles/FakeUnityQml.dir/fake_scopes.cpp.o -c /home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopes.cpp -save-temps
/home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopes.cpp: In member function 'virtual void Scopes::setFavorite(const QString&, bool)':
/home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopes.cpp:183:21: warning: unused variable 'scope' [-Wunused-variable]
         for (Scope *scope : m_scopes) {
                     ^
In file included from /home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopes.cpp:21:0:
/home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopesoverview.h: At global scope:
/home/cjwatson/unity8-8.02+15.04.20150123.3/tests/mocks/Unity/fake_scopesoverview.h:27:7: internal compiler error: in symtab_remove_unreachable_nodes, at ipa.c:547
 class ScopesOverview : public Scope
       ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccXrHoJO.out file, please attach this to your bugreport.

Revision history for this message
Colin Watson (cjwatson) wrote :

(vivid-armhf)cjwatson@shedir:~/unity8-8.02+15.04.20150123.3/obj-arm-linux-gnueabihf/tests/mocks/Unity$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.9.2-10ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.2 (Ubuntu/Linaro 4.9.2-10ubuntu3)

Steve Langasek (vorlon)
Changed in gcc-4.9 (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Steve Langasek (vorlon) wrote :

Matthias mentions that a possible workaround for this issue would be to build just the failing source file with -O1. Michał, does that help unblock you on this issue?

Revision history for this message
Michał Sawicz (saviq) wrote :

Yes, for reference:

# Workaround for gcc failure LP: #1417664
set_source_files_properties(fake_scopes.cpp PROPERTIES COMPILE_FLAGS -O1)

Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → In Progress
status: In Progress → Fix Committed
importance: Undecided → Critical
assignee: nobody → Michał Sawicz (saviq)
Revision history for this message
kevin gunn (kgunn72) wrote :

lowering priority since we have a workaround

Changed in gcc-4.9 (Ubuntu):
importance: Critical → High
Michał Sawicz (saviq)
Changed in unity-scopes-shell (Ubuntu):
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Pawel Stolowski (stolowski)
Revision history for this message
In , Doko-v (doko-v) wrote :

Created attachment 34668
test case

$ arm-linux-gnueabihf-gcc -c -g -O2 -std=c++11 -Wno-attributes -Wno-non-template-friend test.ii
test.ii:66:53: internal compiler error: in symtab_remove_unreachable_nodes, at ipa.c:547
 H<J *> Scopes::favScopes() const { return m_scopes; }
                                                     ^
Please submit a full bug report,
with preprocessed source if appropriate.

configured with --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb

not seen on the trunk, introduced by backporting the fix for PR63970. Reverting this backport lets the test case build.

Revision history for this message
In , Doko-v (doko-v) wrote :

couldn't find any approval email on gcc-patches for the backport. Was this supposed to go to the gcc-4.9 google branch?

Revision history for this message
In , Doko-v (doko-v) wrote :

Author: doko
Date: Wed Feb 4 23:36:22 2015
New Revision: 220426

URL: https://gcc.gnu.org/viewcvs?rev=220426&root=gcc&view=rev
Log:
2015-02-04 Matthias Klose <email address hidden>

        PR target/64938
        Backport from mainline
        2015-01-15 Jan Hubicka <email address hidden>

        PR ipa/64068
        PR ipa/64559
        * ipa.c (symbol_table::remove_unreachable_nodes):
        Do not put abstract origins into boundary.

2015-02-04 Matthias Klose <email address hidden>

        Backport from mainline
        2015-01-15 Martin Liska <email address hidden>

        * g++.dg/ipa/pr64068.C: New test.
        * gcc.dg/ipa/PR64559.c: New test.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/ipa/pr64068.C
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/ipa/PR64559.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/ipa.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog

Revision history for this message
In , Wmi (wmi) wrote :

Author: wmi
Date: Thu Feb 5 00:27:54 2015
New Revision: 220431

URL: https://gcc.gnu.org/viewcvs?rev=220431&root=gcc&view=rev
Log:
Backport from gcc-4_9-branch.
2015-02-04 Matthias Klose <email address hidden>

        PR target/64938
        Backport from mainline
        2015-01-15 Jan Hubicka <email address hidden>

        PR ipa/64068
        PR ipa/64559
        * ipa.c (symbol_table::remove_unreachable_nodes):
        Do not put abstract origins into boundary.

Added:
    branches/google/gcc-4_9/gcc/testsuite/g++.dg/ipa/pr64068.C
    branches/google/gcc-4_9/gcc/testsuite/gcc.dg/ipa/PR64559.c
Modified:
    branches/google/gcc-4_9/gcc/ipa.c

Changed in gcc:
importance: Unknown → Medium
status: Unknown → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gcc-4.9 - 4.9.2-10ubuntu5

---------------
gcc-4.9 (4.9.2-10ubuntu5) vivid; urgency=medium

  * Update to SVN 20150204 (r220426) from the gcc-4_9-branch.
  * Revert the workaround for PR target/64938, and backport the real fix
    to the 4.9 branch. LP: #1417664.
 -- Matthias Klose <email address hidden> Thu, 05 Feb 2015 00:49:51 +0100

Changed in gcc-4.9 (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
In , Pinskia (pinskia) wrote :

Fixed.

Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: Fix Committed → Fix Released
Changed in unity-scopes-shell (Ubuntu):
status: In Progress → Fix Released
Changed in gcc:
status: New → Fix Released
Revision history for this message
In , Ctice (ctice) wrote :

Author: ctice
Date: Thu Feb 19 00:43:33 2015
New Revision: 220805

URL: https://gcc.gnu.org/viewcvs?rev=220805&root=gcc&view=rev
Log:
Backport patch from Google 4.9 branch (r220431):

r220431 | wmi | 2015-02-04 16:27:54 -0800 (Wed, 04 Feb 2015) | 12 lines

Backport from gcc-4_9-branch.
2015-02-04 Matthias Klose <email address hidden>

        PR target/64938
        Backport from mainline
        2015-01-15 Jan Hubicka <email address hidden>

        PR ipa/64068
        PR ipa/64559
        * ipa.c (symbol_table::remove_unreachable_nodes):
        Do not put abstract origins into boundary.

Added:
    branches/google/gcc-4_9-mobile/gcc/testsuite/g++.dg/ipa/pr64068.C
    branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/ipa/PR64559.c
Modified:
    branches/google/gcc-4_9-mobile/gcc/ipa.c

Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello Michał, or anyone else affected,

Accepted gccgo-4.9 into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gccgo-4.9/4.9.3-0ubuntu4 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 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, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

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

tags: added: verification-needed
Revision history for this message
Steve Langasek (vorlon) wrote :

This bug was not identified with gccgo, only with g++, which is not applicable to the in-progress gccgo-4.9 SRU.

tags: removed: verification-needed
Revision history for this message
Steve Langasek (vorlon) wrote : Update Released

The verification of the Stable Release Update for gccgo-4.9 has completed successfully and the package has now been 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.

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.