Compiler segmentation fault while cross-compiling QT5 Webkit

Bug #1301335 reported by Morix Dev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Fix Released
Undecided
Kugan Vivekanandarajah

Bug Description

While cross compiling QT 5.2.1 QWebkit (using Linaro GCC coming from TI AM335x SDK 6.00.00) the compiler exits with the following error:

rendering/RenderLayerBacking.cpp: In member function ‘void WebCore::RenderLayerBacking::_ZN7WebCore18RenderLayerBacking27updateGraphicsLayerGeometryEv.part.36()’:
rendering/RenderLayerBacking.cpp:603:6: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.launchpad.net/gcc-linaro> for instructions.
make[2]: *** [.obj/rendering/RenderLayerBacking.o] Error 1
make[2]: Leaving directory `/home/morix/devel/qt-arm/qtwebkit/Source/WebCore'
make[1]: *** [sub-Target-pri-make_first-ordered] Error 2
make[1]: Leaving directory `/home/morix/devel/qt-arm/qtwebkit/Source/WebCore'
make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2

QT base was configured using the following line:

./configure -prefix /opt/qt5webkit -opensource -confirm-license -platform linux-g++ -icu -I /opt/icu/include -L /opt/icu/lib -no-cups -no-nis -no-dbus -no-glib -no-pch -no-accessibility -no-gtkstyle -no-xcb -eglfs -no-directfb -qpa eglfs -xplatform linux-arm-gnueabihf-g++ -opengl es2 -nomake examples -nomake tests -v -R /opt/icu/lib

ICU was previously cross-compiled using the same Linaro GCC and resides in /opt/icu.

Revision history for this message
Morix Dev (morix-dev) wrote :
Download full text (8.6 KiB)

This is the full instruction which causes the fault:

make[2]: Entering directory `/home/morix/devel/qt-arm/qtwebkit/Source/WebCore'
/home/morix/devel/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++ -c -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -pipe -ffunction-sections -fdata-sections -Wno-c++0x-compat -O3 -march=armv7-a -marm -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -mthumb-interwork -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -D_REENTRANT -MD -DQT_NO_MTDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DQT_OPENGL_SHIMS=1 -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DHAVE_QTPOSITIONING=1 -DHAVE_QTSENSORS=1 -DWTF_USE_ZLIB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_CSS_SHADERS=1 -DENABLE_VIDEO=1 -DWTF_USE_QT_MULTIMEDIA=1 -DENABLE_GAMEPAD=1 -DENABLE_TOUCH_SLIDER=1 -DHAVE_QTTESTSUPPORT=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DIRECTORY_UPLOAD=0 -DEN...

Read more...

Revision history for this message
Kugan Vivekanandarajah (kugan-vivekanandarajah) wrote :

Please provide a preprocessed source to reproduce this problem. You can get the preprocessed source file (.i file) with the -save-temps as an argument to gcc when you compile. With that please provide the compiler options you used and the output of gcc -v.

Revision history for this message
Morix Dev (morix-dev) wrote :

Hello Kugan,
please find attached the intermediate file "RenderLayerBacking.ii".

Furthermore here the output of "g++ -v" follows:

Using built-in specs.
COLLECT_GCC=/home/morix/devel/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++
COLLECT_LTO_WRAPPER=/home/morix/devel/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/../libexec/gcc/arm-linux-gnueabihf/4.7.3/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.7-2013.03/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --enable-multilib --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-ppl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-host-libstdcxx='-L/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static/lib -lpwl' --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb
Thread model: posix
gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03)

Thanks for your support & regards.

Changed in gcc-linaro:
assignee: nobody → Kugan Vivekanandarajah (kugan-vivekanandarajah)
Revision history for this message
Kugan Vivekanandarajah (kugan-vivekanandarajah) wrote :

Only found int 4.7. 4.8 and trunk works.

Revision history for this message
Kugan Vivekanandarajah (kugan-vivekanandarajah) wrote :

minimal g++ options to reproduce is -O3 -mfpu=neon -fvisibility=hidden

Revision history for this message
Morix Dev (morix-dev) wrote :

Thank you Kugan for your analysis. Unluckily I cannot move from GCC 4.7 to 4.8... Anyway I verified that using -02 instead of -03 the problem is not there. So, for the moment, I am going to do that way.

Thanks again & regards.

Revision history for this message
Morix Dev (morix-dev) wrote :

Sorry... obviously it was a type... I meant -O2 instead of -O3

Revision history for this message
Kugan Vivekanandarajah (kugan-vivekanandarajah) wrote :

This bug is specific to Linaro 4.7 and FSF 4.7 does not have this issue. We are more aggressive in Linaro 4.7 when it comes to SLP and that exposes this. A patch to fix this is at:

http://cbuild.validation.linaro.org/snapshots/gcc-linaro-4.7+bzr115100~kugan-vivekanandarajah~LP1301335.diff

Revision history for this message
Morix Dev (morix-dev) wrote :

Thank you Kugan for your support and your patch.

At the moment I workarounded the problem using -O2 instead of -O3, as suggested by you. As soon as possible, I will revert back to -O3 compilation exploiting your patch.

Thanks again & regards.

Yvan Roux (yvan-roux)
Changed in gcc-linaro:
milestone: none → 4.7-2014.04
status: New → Fix Committed
Yvan Roux (yvan-roux)
Changed in gcc-linaro:
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.