Description of problem: java-1.8.0-openjdk fails to build in rawhide with GCC 8. How reproducible: 100% Steps to Reproduce: 1. fedpkg clone -a java-1.8.0-openjdk 2. fedpkg build Actual results: Fails to build on Aarch64 and armv7hl and ppc64le. Expected results: Build succeeds on all architectures. Additional info: Failed task: https://koji.fedoraproject.org/koji/taskinfo?taskID=24536207 Aarch64 fails with: + /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/src/share/classes -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x0000ffffa0fd201c, pid=18177, tid=0x0000ffffa05b31f0 # # JRE version: (8.0_161-b14) (build ) # Java VM: OpenJDK 64-Bit Server VM (25.161-b14 mixed mode linux-aarch64 compressed oops) # Problematic frame: # V [libjvm.so+0x78701c] # # Core dump written. Default location: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/make/core or core.18177 # # An error report file with more information is saved as: # /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/make/hs_err_pid18177.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # /bin/bash: line 1: 18177 Aborted (core dumped) /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/langtools/src/share/classes" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp gmake[2]: *** No rule to make target 'all', needed by 'default'. Stop. armv7hl fails similarly with: + /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/src/share/classes -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:254), pid=4520, tid=0xa38ff460 # fatal error: caught unhandled signal 11 # # JRE version: OpenJDK Runtime Environment (8.0_161-b14) (build 1.8.0_161-b14) # Java VM: OpenJDK Zero VM (25.161-b14 interpreted mode linux-arm ) # Core dump written. Default location: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/make/core or core.4520 # # An error report file with more information is saved as: # /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/make/hs_err_pid4520.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # /bin/bash: line 1: 4520 Aborted (core dumped) /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/langtools/src/share/classes" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-2.b14.fc28.arm/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp gmake[2]: *** No rule to make target 'all', needed by 'default'. Stop. The ppc64le failure is a GCC 8 bug. See bug 1539812.
Note that armv7hl is Zero, aarch64 is a JIT port.
java-1.8.0-openjdk builds with Shenandoah hotspot sources. If that is disabled in the spec the build failure looks like this for aarch64: + /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/src/share/classes -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000ffffb7796e60, pid=29548, tid=0x0000ffffb6dc01f0 # # JRE version: (8.0_161-b14) (build ) # Java VM: OpenJDK 64-Bit Server VM (25.161-b14 mixed mode linux-aarch64 compressed oops) # Problematic frame: # V [libjvm.so+0x73ee60] Assembler::ld_st1(int, int, int, int, RegisterImpl*, RegisterImpl*, Address, bool) [clone .constprop.94]+0x1f8 # # Core dump written. Default location: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/core or core.29548 # # An error report file with more information is saved as: # /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/hs_err_pid29548.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # /bin/bash: line 1: 29548 Aborted (core dumped) /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/src/share/classes" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp gmake[2]: *** No rule to make target 'all', needed by 'default'. Stop. See: https://koji.fedoraproject.org/koji/taskinfo?taskID=24571110
fastdebug aarch64 build: https://koji.fedoraproject.org/koji/taskinfo?taskID=24571787
slowdebug (i.e. -O0) aarch64 only build: https://koji.fedoraproject.org/koji/taskinfo?taskID=24571975 A regular invocation would build an optimized + slowdebug build. Since the optimized build fails, we don't know whether an unoptimized build works.
(In reply to Severin Gehwolf from comment #3) > fastdebug aarch64 build: > https://koji.fedoraproject.org/koji/taskinfo?taskID=24571787 Fails with: + /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/src/share/classes -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/register_aarch64.hpp:60 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/register_aarch64.hpp:60), pid=18953, tid=0x0000ffff8ffe91f0 # assert(is_valid()) failed: invalid register # # JRE version: (8.0_161-b14) (build ) # Java VM: OpenJDK 64-Bit Server VM (25.161-b14-fastdebug mixed mode linux-aarch64 compressed oops) # Core dump written. Default location: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/core or core.18953 # # An error report file with more information is saved as: # /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/hs_err_pid18953.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # Current thread is 281473097568752 Dumping core ... /bin/bash: line 1: 18953 Aborted (core dumped) /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -Xprefer:source -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/make/tools:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/langtools/src/share/classes" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.161-3.b14.fc28.aarch64/openjdk/build/jdk8.build/bootcycle-build/langtools/btclasses/_the.BUILD_TOOLS_batch.tmp gmake[2]: *** No rule to make target 'all', needed by 'default'. Stop.
(In reply to Severin Gehwolf from comment #4) > slowdebug (i.e. -O0) aarch64 only build: > https://koji.fedoraproject.org/koji/taskinfo?taskID=24571975 This one passed (boot-cycled). So one of the enabled optimization flags breaks this. Showing all symptoms of one of those GCC/openjdk bugs so far.
Created attachment 1388851 [details] hs_error.log file for the release build failure.
It turns out GCC found one more instance of UB in the JDK 8 codebase. Thanks to Andrew Dinn for finding this. Scratch build with a potential fix is running: https://koji.fedoraproject.org/koji/taskinfo?taskID=24593504 The above includes this fix: https://src.fedoraproject.org/fork/jerboaa/rpms/java-1.8.0-openjdk/c/e662e9f1b1f8bfb909360622a28d01fa3a357593?branch=master
(In reply to Severin Gehwolf from comment #8) > It turns out GCC found one more instance of UB in the JDK 8 codebase. Thanks > to Andrew Dinn for finding this. > > Scratch build with a potential fix is running: > https://koji.fedoraproject.org/koji/taskinfo?taskID=24593504 > > The above includes this fix: > https://src.fedoraproject.org/fork/jerboaa/rpms/java-1.8.0-openjdk/c/ > e662e9f1b1f8bfb909360622a28d01fa3a357593?branch=master Seems this isn't sufficient. The aarch64 build still fails.
Another attempt: https://koji.fedoraproject.org/koji/taskinfo?taskID=24601954 The above includes these additional fixes: https://src.fedoraproject.org/fork/jerboaa/rpms/java-1.8.0-openjdk/c/68cffc053211e1ed62456629ef43da24ea73e790?branch=master
The issue is solved by https://koji.fedoraproject.org/koji/buildinfo?buildID=1022920
java-1.8.0-openjdk-1.8.0.161-5.b14.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-8029f4006f
java-1.8.0-openjdk-1.8.0.161-5.b14.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-cd3de3f929
java-1.8.0-openjdk-1.8.0.161-5.b14.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-cd3de3f929
java-1.8.0-openjdk-1.8.0.161-5.b14.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-8029f4006f
java-1.8.0-openjdk-1.8.0.161-5.b14.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.
java-1.8.0-openjdk-1.8.0.161-5.b14.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.