Bug 1282495 - ICE / SSP failure on vmlals_lanev4hi NEON builtin
Summary: ICE / SSP failure on vmlals_lanev4hi NEON builtin
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 23
Hardware: armv7hl
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-16 15:28 UTC by Stefan Sørensen
Modified: 2016-12-03 15:57 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-12-03 15:57:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Minimal source for reproducing (145 bytes, text/plain)
2015-11-16 15:28 UTC, Stefan Sørensen
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNU Compiler Collection 63870 0 None None None Never
GNU Compiler Collection 69187 0 None None None Never
Launchpad 1527741 0 None None None 2016-01-10 02:22:52 UTC

Description Stefan Sørensen 2015-11-16 15:28:46 UTC
Created attachment 1094975 [details]
Minimal source for reproducing

Description of problem:
gcc crashes with ICE + stack smashing detected on code with __builtin_neon_vmlals_lanev4hi / vmlal_lane_s16

Version-Release number of selected component (if applicable):
gcc-5.1.1-4.fc23.armv7hl

How reproducible:
Always

Steps to Reproduce:
1. gcc -mfpu=neon vmlals-ice.c

Actual results:
vmlals-ice.c: In function ‘foo’:
vmlals-ice.c:3:2: internal compiler error: Aborted
  __builtin_neon_vmlals_lanev4hi(__builtin_neon_vdup_nv4si(0), __builtin_neon_vdup_nv4hi(0), __builtin_neon_vdup_nv4hi(0), 0);
  ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
*** stack smashing detected ***: -quiet terminated
======= Backtrace: =========
/lib/libc.so.6(+0x69320)[0xb6cc0320]
/lib/libc.so.6(__fortify_fail+0x40)[0xb6d492ac]
/lib/libc.so.6(__stack_chk_fail+0x10)[0xb6d49268]
-quiet(_Z18arm_expand_builtinP9tree_nodeP7rtx_defS2_12machine_modei+0x1b38)[0x326384]
-quiet(_Z14expand_builtinP9tree_nodeP7rtx_defS2_12machine_modei+0x2bf8)[0x5076b0]
-quiet(_Z18expand_expr_real_1P9tree_nodeP7rtx_def12machine_mode15expand_modifierPS2_b+0x20d0)[0x5f5fd4]
-quiet[0x5217f4]
-quiet[0x518e5c]
-quiet(_Z16execute_one_passP8opt_pass+0x15c)[0x77a418]
-quiet(_Z17execute_pass_listP8functionP8opt_pass+0x24)[0x77d75c]
-quiet(_ZN11cgraph_node6expandEv+0x100)[0xc1b4f8]
-quiet[0xc1ada4]
-quiet(_ZN12symbol_table7compileEv+0xff4)[0xc1a99c]
-quiet(_ZN12symbol_table25finalize_compilation_unitEv+0x78)[0xc19644]
-quiet(_Z27c_write_global_declarationsv+0x134)[0x471000]
-quiet[0xc8ff14]
-quiet(_ZN6toplev4mainEiPPc+0xaa4)[0x45fe64]
-quiet(main+0x48)[0x460ab8]
/lib/libc.so.6(__libc_start_main+0x114)[0xb6c6db54]

Additional info:
Crossscompiling with gcc-arm-linux-gnu-5.1.1-3.fc23.x86_64 works.

Comment 1 Kevin Kofler 2016-01-10 02:22:52 UTC
This also causes QtWebEngine to FTBFS for ARM:

FAILED: /usr/bin/gcc -MMD -MF obj/src/3rdparty/chromium/third_party/webrtc/common_audio/signal_processing/common_audio_neon.downsample_fast_neon.o.d -DV8_DEPRECATION_WARNINGS -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DCHROMIUM_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_
MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DWEBRTC_CHROMIUM_BUILD -DLOGGING_INSIDE_WEBRTC -DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7 -DWEBRTC_HAS_NEON -DWEBRTC_POSIX -DWEBRTC_LINUX -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium -I/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/webrtc/overrides -I/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party -I/usr/include/libdrm -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -mfpu=neon -I/usr/include/dbus-1.
0 -I/usr/lib/dbus-1.0/include -march=armv7-a -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables   -c /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/webrtc/common_audio/signal_processing/downsample_fast_neon.c -o obj/src/3rdparty/chromium/third_party/webrtc/common_audio/signal_processing/common_audio_neon.downsample_fast_neon.o
*** stack smashing detected ***: /usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1 terminated
======= Backtrace: =========
/lib/libc.so.6(+0x6a538)[0xb6c8b538]
/lib/libc.so.6(__fortify_fail+0x40)[0xb6d19a6c]
/lib/libc.so.6(__stack_chk_fail+0x10)[0xb6d19a28]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z18arm_expand_builtinP9tree_nodeP7rtx_defS2_12machine_modei+0x19ec)[0x2ff6b4]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z14expand_builtinP9tree_nodeP7rtx_defS2_12machine_modei+0x1d64)[0x4c0150]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z18expand_expr_real_1P9tree_nodeP7rtx_def12machine_mode15expand_modifierPS2_b+0x211c)[0x5a2978]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z22store_expr_with_boundsP9tree_nodeP7rtx_defibS0_+0xd8)[0x5a6b10]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z17expand_assignmentP9tree_nodeS0_b+0x17c)[0x5a4f50]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1[0x4d9d90]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1[0x4d1400]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z16execute_one_passP8opt_pass+0x154)[0x711714]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z17execute_pass_listP8functionP8opt_pass+0x24)[0x714460]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_ZN12symbol_table7compileEv+0x56c)[0xb80350]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_ZN12symbol_table25finalize_compilation_unitEv+0x70)[0xb7fb1c]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_Z27c_write_global_declarationsv+0x11c)[0x4323d8]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1[0xbec814]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(_ZN6toplev4mainEiPPc+0xb5c)[0x422b58]
/usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1(main+0x40)[0x4235e0]
/lib/libc.so.6(__libc_start_main+0x114)[0xb6c37df8]
======= Memory map: ========
00010000-01052000 r-xp 00000000 08:03 3279223    /usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1
01061000-0106f000 rw-p 01041000 08:03 3279223    /usr/libexec/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/cc1
0106f000-0112f000 rw-p 00000000 00:00 0 
02d87000-02e52000 rw-p 00000000 00:00 0          [heap]
b6372000-b6776000 rw-p 00000000 00:00 0 
b67e0000-b6bf4000 rw-p 00000000 00:00 0 
b6bf4000-b6c11000 r-xp 00000000 08:03 2884013    /usr/lib/libgcc_s-5.3.1-20151207.so.1
b6c11000-b6c20000 ---p 0001d000 08:03 2884013    /usr/lib/libgcc_s-5.3.1-20151207.so.1
b6c20000-b6c21000 rw-p 0001c000 08:03 2884013    /usr/lib/libgcc_s-5.3.1-20151207.so.1
b6c21000-b6d69000 r-xp 00000000 08:03 2884879    /usr/lib/libc-2.22.90.so
b6d69000-b6d79000 ---p 00148000 08:03 2884879    /usr/lib/libc-2.22.90.so
b6d79000-b6d7b000 r--p 00148000 08:03 2884879    /usr/lib/libc-2.22.90.so
b6d7b000-b6d7c000 rw-p 0014a000 08:03 2884879    /usr/lib/libc-2.22.90.so
b6d7c000-b6d7f000 rw-p 00000000 00:00 0 
b6d7f000-b6df0000 r-xp 00000000 08:03 2884887    /usr/lib/libm-2.22.90.so
b6df0000-b6e00000 ---p 00071000 08:03 2884887    /usr/lib/libm-2.22.90.so
b6e00000-b6e01000 r--p 00071000 08:03 2884887    /usr/lib/libm-2.22.90.so
b6e01000-b6e02000 rw-p 00072000 08:03 2884887    /usr/lib/libm-2.22.90.so
b6e02000-b6e14000 r-xp 00000000 08:03 2885052    /usr/lib/libz.so.1.2.8
b6e14000-b6e24000 ---p 00012000 08:03 2885052    /usr/lib/libz.so.1.2.8
b6e24000-b6e25000 r--p 00012000 08:03 2885052    /usr/lib/libz.so.1.2.8
b6e25000-b6e26000 rw-p 00013000 08:03 2885052    /usr/lib/libz.so.1.2.8
b6e26000-b6e85000 r-xp 00000000 08:03 2885067    /usr/lib/libgmp.so.10.3.0
b6e85000-b6e95000 ---p 0005f000 08:03 2885067    /usr/lib/libgmp.so.10.3.0
b6e95000-b6e96000 rw-p 0005f000 08:03 2885067    /usr/lib/libgmp.so.10.3.0
b6e96000-b6eeb000 r-xp 00000000 08:03 2885151    /usr/lib/libmpfr.so.4.1.3
b6eeb000-b6efa000 ---p 00055000 08:03 2885151    /usr/lib/libmpfr.so.4.1.3
b6efa000-b6efb000 r--p 00054000 08:03 2885151    /usr/lib/libmpfr.so.4.1.3
b6efb000-b6efc000 rw-p 00000000 00:00 0 
b6efc000-b6f0e000 r-xp 00000000 08:03 2885159    /usr/lib/libmpc.so.3.0.0
b6f0e000-b6f1e000 ---p 00012000 08:03 2885159    /usr/lib/libmpc.so.3.0.0
b6f1e000-b6f1f000 r--p 00012000 08:03 2885159    /usr/lib/libmpc.so.3.0.0
b6f1f000-b6f20000 rw-p 00000000 00:00 0 
b6f20000-b6f24000 r-xp 00000000 08:03 2884885    /usr/lib/libdl-2.22.90.so
b6f24000-b6f33000 ---p 00004000 08:03 2884885    /usr/lib/libdl-2.22.90.so
b6f33000-b6f34000 r--p 00003000 08:03 2884885    /usr/lib/libdl-2.22.90.so
b6f34000-b6f35000 rw-p 00004000 08:03 2884885    /usr/lib/libdl-2.22.90.so
b6f35000-b6f58000 r-xp 00000000 08:03 2884871    /usr/lib/ld-2.22.90.so
b6f59000-b6f5f000 rw-p 00000000 00:00 0 
b6f5f000-b6f67000 rw-p 00000000 00:00 0 
b6f67000-b6f68000 r--p 00022000 08:03 2884871    /usr/lib/ld-2.22.90.so
b6f68000-b6f69000 rw-p 00023000 08:03 2884871    /usr/lib/ld-2.22.90.so
be97b000-be99d000 rw-p 00000000 00:00 0          [stack]
be9d8000-be9d9000 r-xp 00000000 00:00 0          [sigpage]
ffff0000-ffff1000 r-xp 00000000 00:00 0          [vectors]
In file included from /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/webrtc/common_audio/signal_processing/downsample_fast_neon.c:13:0:
/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/include/arm_neon.h: In function 'WebRtcSpl_DownsampleFastNeon':
/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/5.3.1/include/arm_neon.h:6697:10: internal compiler error: Aborted
   return (int32x4_t)__builtin_neon_vmlals_lanev4hi (__a, __b, __c, __d);
          ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
ninja: build stopped: subcommand failed.
Makefile.gyp_run:290: recipe for target 'invoke_ninja' failed

Other Chromium forks are affected too: Ubuntu was hitting this with their ozone-qt:
https://bugs.launchpad.net/ubuntu/+source/oxide-qt/+bug/1527741
and they found this to be a regression from the fix to PR63870:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63870

Comment 2 Kevin Kofler 2016-01-10 14:54:36 UTC
GCC claims the bug is not reproducible, but I tried resubmitting the build twice, and all my 3 build attempts failed at the same place with the same error.

Comment 3 Kevin Kofler 2016-01-10 14:55:22 UTC
(I've set the priority to urgent because this breaks the build of a key component of Qt 5.6.)

Comment 4 Kevin Kofler 2016-01-10 18:22:31 UTC
I'm building QtWebEngine with NEON completely disabled now, which kinda sucks, but at least it avoids running into this ICE.

Comment 5 Stefan Sørensen 2016-01-11 07:57:05 UTC
This is upstream https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69187 - I have attached a proprosed fix there.

Comment 6 Kevin Kofler 2016-01-20 01:00:34 UTC
Can we please get this fixed? As far as I can tell, this affects GCC on all currently supported Fedora releases, the fix is trivial, and getting this fixed would allow me to build QtWebEngine with arm_neon_optional enabled rather than disabling NEON entirely.

Comment 7 Kevin Kofler 2016-03-21 04:05:36 UTC
Ping? As far as I can tell, this is now fixed in F24 and Rawhide by updating GCC, but F22 and F23 are still affected. There is a 5.3.1-4 that claims to fix this in F23 dist-git, but it is not pushed anywhere, nor was it merged to the F22 branch.

Comment 8 Fedora End Of Life 2016-11-24 13:29:35 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Kevin Kofler 2016-12-03 15:57:07 UTC
F23 updates has gcc-5.3.1-6.fc23 now.


Note You need to log in before you can comment on or make changes to this bug.