Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 550780 - [4.9/ICE] dev-qt/qtwebkit-4.8.7 - isl_val.c:290: numerator too large - QuotesData.cpp:26:13: internal compiler error: Aborted
Summary: [4.9/ICE] dev-qt/qtwebkit-4.8.7 - isl_val.c:290: numerator too large - Quotes...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-29 21:39 UTC by Karl Lindén
Modified: 2017-08-29 18:55 UTC (History)
0 users

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


Attachments
gzip compressed build.log (build.log.gz,608.89 KB, application/gzip)
2015-05-29 21:47 UTC, Karl Lindén
Details
build log with -fraphite-identity (build.log.fgraphite-identity.xz,60.07 KB, application/x-xz)
2015-05-31 09:24 UTC, Karl Lindén
Details
build log with -floop-strip-mine (build.log.floop-strip-mine.xz,23.09 KB, application/x-xz)
2015-05-31 09:32 UTC, Karl Lindén
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Lindén 2015-05-29 21:39:56 UTC
When emergeing =dev-qt/qtwebkit-4.8.7 the build fails with the following error:
In file included from /var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/PossiblyNull.h:29:0,
                 from /var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/FastMalloc.h:25,
                 from /var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/config.h:153,
                 from /var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/rendering/style/QuotesData.cpp:21:
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StdLibExtras.h: In function 'TO WTF::bitwise_cast(FROM)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyWTF_bitwise_cast_sizeof_casted_types_is_equal' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StdLibExtras.h:96:5: note: in expansion of macro 'COMPILE_ASSERT'
     COMPILE_ASSERT(sizeof(TO) == sizeof(FROM), WTF_bitwise_cast_sizeof_casted_types_is_equal);
     ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StdLibExtras.h: In function 'size_t WTF::roundUpToMultipleOf(size_t)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummydivisor_is_a_power_of_two' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StdLibExtras.h:120:5: note: in expansion of macro 'COMPILE_ASSERT'
     COMPILE_ASSERT(divisor && !(divisor & (divisor - 1)), divisor_is_a_power_of_two);
     ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringHasher.h: In static member function 'static unsigned int WTF::StringHasher::hashMemory(const void*)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummylength_must_be_a_multible_of_four' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringHasher.h:140:9: note: in expansion of macro 'COMPILE_ASSERT'
         COMPILE_ASSERT(!(length % 4), length_must_be_a_multible_of_four);
         ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator==(const WTF::OwnPtr<U>&)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h:87:66: note: in expansion of macro 'COMPILE_ASSERT'
         template<typename U> bool operator==(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; }
                                                                  ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator!=(const WTF::OwnPtr<U>&)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h:88:66: note: in expansion of macro 'COMPILE_ASSERT'
         template<typename U> bool operator!=(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; }
                                                                  ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator==(const WTF::PassOwnPtr<U>&)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h:89:70: note: in expansion of macro 'COMPILE_ASSERT'
         template<typename U> bool operator==(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; }
                                                                      ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator!=(const WTF::PassOwnPtr<U>&)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs]
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
                                               ^
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/OwnPtr.h:90:70: note: in expansion of macro 'COMPILE_ASSERT'
         template<typename U> bool operator!=(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; }
                                                                      ^
/var/tmp/portage/dev-libs/isl-0.14/work/isl-0.14/isl_val.c:290: numerator too large
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/rendering/style/QuotesData.cpp: In static member function 'static WebCore::QuotesData* WebCore::QuotesData::create(int)':
/var/tmp/portage/dev-qt/qtwebkit-4.8.7/work/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/rendering/style/QuotesData.cpp:26:13: internal compiler error: Aborted
 QuotesData* QuotesData::create(int stringCount)
             ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.gentoo.org/> for instructions.
Makefile:410366: recipe for target '.obj/release-static/QuotesData.o' failed
make: *** [.obj/release-static/QuotesData.o] Error 1

# emerge -pqv '=dev-qt/qtwebkit-4.8.7::gentoo'
[ebuild     U ] dev-qt/qtwebkit-4.8.7 [4.8.6-r1] USE="gstreamer jit (-aqua) -debug -exceptions -icu -pch" ABI_X86="(64) -32 (-x32)"

The fact that isl is failing indicates that it is the graphite optimizations that fail. The workaround should be too disable the graphite optimizations. Hence, the lowered priority. I will try to confirm that it in fact is graphite that does not work.

Reproducible: Always
Comment 1 Karl Lindén 2015-05-29 21:40:43 UTC
# emerge --info '=dev-qt/qtwebkit-4.8.7::gentoo'
Portage 2.2.20 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.2, glibc-2.20-r2, 4.0.4-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.0.4-gentoo-x86_64-AMD_Athlon-tm-_II_X4_640_Processor-with-gentoo-2.2
KiB Mem:     8177808 total,     65548 free
KiB Swap:    2097148 total,   2076284 free
Timestamp of repository gentoo: Fri, 29 May 2015 18:00:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25 p1.2) 2.25
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2-r1::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.16.3::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25-r1::gentoo
sys-devel/gcc:            4.8.4::gentoo, 4.9.2::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

crossdev
    location: /usr/crossdev
    masters: gentoo
    priority: 0

lilrc
    location: /home/kalle/lilrc-overlay
    masters: gentoo
    priority: 1

proaudio
    location: /home/kalle/proaudio
    masters: gentoo
    priority: 2

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -O2 -fomit-frame-pointer -pipe -fno-stack-protector -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -march=amdfam10"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -O2 -fomit-frame-pointer -pipe -fno-stack-protector -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -march=amdfam10"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="                      --binpkg-changed-deps=y --binpkg-respect-use=y                      --buildpkg-exclude app-emulation/virtualbox-modules                      --buildpkg-exclude sys-fs/vhba                      --buildpkg-exclude sys-kernel/*                      --buildpkg-exclude virtual/*                      --buildpkg-exclude www-client/firefox                      --with-bdeps=y --getbinpkg=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg buildsyspkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="rsync://192.168.0.109/gentoo-portage/ http://distfiles.gentoo.org http://ftp.df.lth.se/pub/gentoo/ rsync://ftp.df.lth.se/pub/gentoo/ http://mirror.mdfnet.se/gentoo"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac alloca alsa amd64 aspell bindist cairo cd cdda cddb cdr consolekit cracklib crypt cups curl dri drm dssi dvd dvdr exif ffmpeg fftw flac fltk gallium gif gimp glib gmp gnuplot gnutls gstreamer gtk gtk2 gtkstyle gudev hwdb imap inotify jack javascript jit jpeg keymap ladspa lame libkms libnotify libsamplerate lv2 mad mp3 mpeg netifrc nptl ogg opengl openmp openrc orc pam pdf png qt3support qt4 qt5 readline spell ssl startup-notification subversion svg svn theora threads thunar tiff truetype udev udisks unicode usb v4l vaapi vdpau vlc vorbis webgl x264 xcb xcomposite xinerama xorg xscreensaver zlib" ABI_X86="64" ALSA_CARDS="hda-intel" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext sse sse2 sse3 sse4_1" CURL_SSL="gnutls" ELIBC="glibc" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LINGUAS="en en_GB" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby20 ruby22" SANE_BACKENDS="xerox_mfp" USERLAND="GNU" VIDEO_CARDS="nouveau" XFCE_PLUGINS="trash"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Karl Lindén 2015-05-29 21:47:10 UTC
Created attachment 404306 [details]
gzip compressed build.log

Compressed to make the 30.0MB fit the 1000KB file size limit.
Comment 3 Karl Lindén 2015-05-30 04:41:49 UTC
I can confirm it is graphite failing. It emerges fine with -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity removed from CFLAGS.
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2015-05-30 10:27:27 UTC
Can you pinpoint which flag of those 4 triggers the ICE?
Comment 5 Karl Lindén 2015-05-31 09:24:01 UTC
Created attachment 404360 [details]
build log with -fraphite-identity

The same error is triggered by -fgraphite-identity alone. Here is an xz-compressed build log.

The same ICE is also triggered with -floop-strip-mine alone but in another source file. I will post the log shortly.
Comment 6 Karl Lindén 2015-05-31 09:32:29 UTC
Created attachment 404362 [details]
build log with -floop-strip-mine

Build log with -floop-strip-mine. The ICE occurs at another source file than with -fgraphite-identity.
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2015-05-31 14:08:01 UTC
Thanks. The problematic flags are now filtered for qtwebkit.

  31 May 2015; Davide Pesavento <pesa@gentoo.org> qt4-build-multilib.eclass:
  Blacklist graphite-related flags that cause ICEs on qtwebkit (bug 550780).

I'm reassigning this bug to toolchain to see if they're interested in fixing it.
Comment 8 SpanKY gentoo-dev 2015-05-31 14:21:33 UTC
considering how much rewrites lto/graphite have gone through in each gcc release so far, if it works with the latest (5.1.0), i think that's all we plan on doing.
Comment 9 Karl Lindén 2015-05-31 19:31:09 UTC
The bug is not reproducible with GCC 5.1.0.
Comment 10 SpanKY gentoo-dev 2015-06-01 02:16:03 UTC
if it was backported, or the fix that went into trunk identified, we can add it to 4.9, but lto/graphite aren't a priority for us currently
Comment 11 Andreas K. Hüttel archtester gentoo-dev 2017-08-29 18:55:37 UTC
(In reply to SpanKY from comment #10)
> if it was backported, or the fix that went into trunk identified, we can add
> it to 4.9, but lto/graphite aren't a priority for us currently

Closing since noone has yet identified the commit / bug, and 5.4 is stable now.