Bug 1540242 - [gcc 8] java-1.8.0-openjdk FTBFS in rawhide on aarch64 and armv7hl
Summary: [gcc 8] java-1.8.0-openjdk FTBFS in rawhide on aarch64 and armv7hl
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: jiri vanek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-30 15:16 UTC by Severin Gehwolf
Modified: 2018-02-20 16:37 UTC (History)
6 users (show)

Fixed In Version: java-1.8.0-openjdk-1.8.0.161-5.b14.fc27 java-1.8.0-openjdk-1.8.0.161-5.b14.fc26
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-02-14 17:29:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
hs_error.log file for the release build failure. (29.63 KB, text/plain)
2018-01-31 09:07 UTC, Severin Gehwolf
no flags Details

Description Severin Gehwolf 2018-01-30 15:16:05 UTC
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.

Comment 1 Severin Gehwolf 2018-01-30 15:18:36 UTC
Note that armv7hl is Zero, aarch64 is a JIT port.

Comment 2 Severin Gehwolf 2018-01-30 15:20:30 UTC
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

Comment 3 Severin Gehwolf 2018-01-30 15:34:43 UTC
fastdebug aarch64 build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=24571787

Comment 4 Severin Gehwolf 2018-01-30 15:45:19 UTC
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.

Comment 5 Severin Gehwolf 2018-01-30 16:00:10 UTC
(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.

Comment 6 Severin Gehwolf 2018-01-30 17:31:41 UTC
(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.

Comment 7 Severin Gehwolf 2018-01-31 09:07:02 UTC
Created attachment 1388851 [details]
hs_error.log file for the release build failure.

Comment 8 Severin Gehwolf 2018-01-31 11:11:25 UTC
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

Comment 9 Severin Gehwolf 2018-01-31 12:11:29 UTC
(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.

Comment 12 jiri vanek 2018-02-07 10:40:32 UTC
The issue is solved by https://koji.fedoraproject.org/koji/buildinfo?buildID=1022920

Comment 13 Fedora Update System 2018-02-07 10:52:35 UTC
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

Comment 14 Fedora Update System 2018-02-07 10:55:27 UTC
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

Comment 15 Fedora Update System 2018-02-07 13:51:29 UTC
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

Comment 16 Fedora Update System 2018-02-07 14:10:11 UTC
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

Comment 17 Fedora Update System 2018-02-14 17:29:56 UTC
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.

Comment 18 Fedora Update System 2018-02-20 16:37:33 UTC
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.


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