Bug 1591692 - internal compiler error: in cp_tree_equal, at cp/tree.c:3896
Summary: internal compiler error: in cp_tree_equal, at cp/tree.c:3896
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-15 09:40 UTC by Martin Stransky
Modified: 2018-06-22 08:28 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-06-22 08:28:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
preprocesed ccFHREDG.out file (1.14 MB, application/zip)
2018-06-15 09:40 UTC, Martin Stransky
no flags Details

Description Martin Stransky 2018-06-15 09:40:53 UTC
Created attachment 1451851 [details]
preprocesed ccFHREDG.out file

Description of problem:
When building Firefox nightly gcc throws internal compiler error: in cp_tree_equal, at cp/tree.c:3896

Version-Release number of selected component (if applicable):
gcc-8.1.1-1.fc28.x86_64

How reproducible:
Always

Steps to Reproduce:
1. hg clone https://hg.mozilla.org/mozilla-central/ firefox
2. cd frirefox
3. ./mach bootstrap
3. ./mach build

Result:
make[1]: Entering directory '/home/komat/tmp676-trunk-gtk3/src2/objdir/js/src'
/usr/bin/g++ -o Unified_cpp_js_src2.o -c -I/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/system_wrappers -include /home/komat/tmp676-trunk-gtk3/src2/config/gcc_hidden.h -DDEBUG=1 -DENABLE_BINARYDATA -DENABLE_SIMD -DENABLE_WASM_BULKMEM_OPS -DENABLE_WASM_SATURATING_TRUNC_OPS -DENABLE_WASM_THREAD_OPS -DENABLE_WASM_GC -DWASM_HUGE_MEMORY -DJS_CACHEIR_SPEW -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES '-DDLL_PREFIX="lib"' '-DDLL_SUFFIX=".so"' -DFFI_BUILDING -DMOZ_HAS_MOZGLUE -I/home/komat/tmp676-trunk-gtk3/src2/js/src -I/home/komat/tmp676-trunk-gtk3/src2/objdir/js/src -I/home/komat/tmp676-trunk-gtk3/src2/objdir/js/src/ctypes/libffi/include -I/home/komat/tmp676-trunk-gtk3/src2/js/src/ctypes/libffi/src/x86 -I/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include -I/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /home/komat/tmp676-trunk-gtk3/src2/objdir/js/src/js-confdefs.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=multistatement-macros -Wno-error=class-memaccess -Wformat -Wformat-overflow=2 -Wno-noexcept-type -fno-sized-deallocation -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -fno-omit-frame-pointer -Wno-shadow -Werror=format -fno-strict-aliasing  -MD -MP -MF .deps/Unified_cpp_js_src2.o.pp   /home/komat/tmp676-trunk-gtk3/src2/objdir/js/src/Unified_cpp_js_src2.cpp
In file included from /home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/AlreadyAddRefed.h:12,
                 from /home/komat/tmp676-trunk-gtk3/src2/js/src/jsapi.h:12,
                 from /home/komat/tmp676-trunk-gtk3/src2/js/src/builtin/SIMD.h:10,
                 from /home/komat/tmp676-trunk-gtk3/src2/js/src/builtin/SIMD.cpp:14,
                 from /home/komat/tmp676-trunk-gtk3/src2/objdir/js/src/Unified_cpp_js_src2.cpp:2:
/home/komat/tmp676-trunk-gtk3/src2/js/src/frontend/TokenStream.h: In member function ‘bool js::frontend::TokenStreamChars<char16_t, AnyCharsAccess>::getFullAsciiCodePoint(char16_t, int32_t*)’:
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:417:71: internal compiler error: in cp_tree_equal, at cp/tree.c:3896
      static_assert(mozilla::detail::AssertionConditionType<decltype(x)>::isValid, \
                                                                       ^
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:442:5: note: in expansion of macro ‘MOZ_VALIDATE_ASSERT_CONDITION_TYPE’
     MOZ_VALIDATE_ASSERT_CONDITION_TYPE(expr); \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:450:39: note: in expansion of macro ‘MOZ_ASSERT_HELPER2’
 #define MOZ_RELEASE_ASSERT_GLUE(a, b) a b
                                       ^
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:452:3: note: in expansion of macro ‘MOZ_RELEASE_ASSERT_GLUE’
   MOZ_RELEASE_ASSERT_GLUE( \
   ^~~~~~~~~~~~~~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/MacroArgs.h:16:26: note: in expansion of macro ‘MOZ_CONCAT2’
 #define MOZ_CONCAT(x, y) MOZ_CONCAT2(x, y)
                          ^~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/MacroArgs.h:73:51: note: in expansion of macro ‘MOZ_CONCAT’
 #define MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE(a, b) a b
                                                   ^
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/MacroArgs.h:75:3: note: in expansion of macro ‘MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE’
   MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE( \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:453:5: note: in expansion of macro ‘MOZ_PASTE_PREFIX_AND_ARG_COUNT’
     MOZ_PASTE_PREFIX_AND_ARG_COUNT(MOZ_ASSERT_HELPER, __VA_ARGS__), \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/mozilla/Assertions.h:457:27: note: in expansion of macro ‘MOZ_RELEASE_ASSERT’
 #  define MOZ_ASSERT(...) MOZ_RELEASE_ASSERT(__VA_ARGS__)
                           ^~~~~~~~~~~~~~~~~~
/home/komat/tmp676-trunk-gtk3/src2/js/src/frontend/TokenStream.h:1353:9: note: in expansion of macro ‘MOZ_ASSERT’
         MOZ_ASSERT(isAsciiCodePoint(lead),
         ^~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccFHREDG.out file, please attach this to your bugreport.

Comment 1 Marek Polacek 2018-06-15 13:37:15 UTC
I haven't been able to reproduce this on x86_64 neither with gcc-8.1.1-1.fc28.x86_64 nor with GCC 9.0.0.  Are you sure this is the correct preprocessed file?

$ /usr/libexec/gcc/x86_64-redhat-linux/8/cc1plus -quiet -I /home/komat/tmp676-trunk-gtk3/src2/objdir/dist/system_wrappers -I /home/komat/tmp676-trunk-gtk3/src2/js/src -I /home/komat/tmp676-trunk-gtk3/src2/objdir/js/src -I /home/komat/tmp676-trunk-gtk3/src2/objdir/js/src/ctypes/libffi/include -I /home/komat/tmp676-trunk-gtk3/src2/js/src/ctypes/libffi/src/x86 -I /home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include -I /home/komat/tmp676-trunk-gtk3/src2/objdir/dist/include/nspr -MD Unified_cpp_js_src2.d -MF .deps/Unified_cpp_js_src2.o.pp -MP -MQ Unified_cpp_js_src2.o -D_GNU_SOURCE -D_REENTRANT -D DEBUG=1 -D ENABLE_BINARYDATA -D ENABLE_SIMD -D ENABLE_WASM_BULKMEM_OPS -D ENABLE_WASM_SATURATING_TRUNC_OPS -D ENABLE_WASM_THREAD_OPS -D ENABLE_WASM_GC -D WASM_HUGE_MEMORY -D JS_CACHEIR_SPEW -D ENABLE_SHARED_ARRAY_BUFFER -D EXPORT_JS_API -D JS_HAS_CTYPES -D DLL_PREFIX="lib" -D DLL_SUFFIX=".so" -D FFI_BUILDING -D MOZ_HAS_MOZGLUE -D MOZILLA_CLIENT    -quiet -dumpbase Unified_cpp_js_src2.cpp -mtune=generic -march=x86-64 -auxbase-strip Unified_cpp_js_src2.o -g -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wwrite-strings -Wno-invalid-offsetof -Wc++17-compat -Wduplicated-cond -Wimplicit-fallthrough=3 -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=multistatement-macros -Wno-error=class-memaccess -Wformat=1 -Wformat-overflow=2 -Wno-noexcept-type -Wno-shadow -Werror=format -fPIC -fno-sized-deallocation -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -fno-omit-frame-pointer -fno-strict-aliasing -frandom-seed=0 -fdump-noaddr fail.cpp
fail.cpp:13:1: warning: multi-line comment [-Wcomment]
 //       static_assert(mozilla::detail::AssertionConditionType<decltype(x)>::isValid, \
 ^
fail.cpp:16:1: warning: multi-line comment [-Wcomment]
 //      MOZ_VALIDATE_ASSERT_CONDITION_TYPE(expr); \
 ^
fail.cpp:22:1: warning: multi-line comment [-Wcomment]
 //    MOZ_RELEASE_ASSERT_GLUE( \
 ^
fail.cpp:31:1: warning: multi-line comment [-Wcomment]
 //    MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE( \
 ^
fail.cpp:34:1: warning: multi-line comment [-Wcomment]
 //      MOZ_PASTE_PREFIX_AND_ARG_COUNT(MOZ_ASSERT_HELPER, __VA_ARGS__), \
 ^
marek@pdp ~/x/trunk/gcc $

Comment 2 Martin Stransky 2018-06-15 14:13:55 UTC
(In reply to Marek Polacek from comment #1)
> I haven't been able to reproduce this on x86_64 neither with
> gcc-8.1.1-1.fc28.x86_64 nor with GCC 9.0.0.  Are you sure this is the
> correct preprocessed file?

You're right, I can't reproduce that either from the preprocessed file. Only reliable reproducer is the direct build from mozilla sources.

Comment 3 Marek Polacek 2018-06-15 17:40:31 UTC
I tried that but even that passes for me:

[...]
11:14.08 /usr/bin/notify-send --app-name=Mozilla Build System Mozilla Build System Build complete
11:14.31 We know it took a while, but your build finally finished successfully!
To view resource usage of the build, run |mach resource-usage|.
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://developer.mozilla.org/docs/Developer_Guide/So_You_Just_Built_Firefox

Comment 4 Martin Stransky 2018-06-22 08:28:34 UTC
I don't see that bug any more, closing now.


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