JDK-8195685 : AArch64 cannot build with JDK-8174962
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9.0.4,10
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2018-01-18
  • Updated: 2020-11-27
  • Resolved: 2018-01-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10 JDK 11 JDK 9 Other
10 b41Fixed 11Fixed 9.0.4Fixed openjdk8u292Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
jdk10 tree cannot build on AArch64:

$ configure --with-jvm-variants=server --with-debug-level=fastdebug --disable-precompiled-headers --with-cpu-port=aarch64
$ make images
...
Note: Recompile with -Xlint:removal for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Compiling 4 files for BUILD_JIGSAW_TOOLS
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000040001409ae70, pid=25350, tid=25351
#
# JRE version:  (10.0) (fastdebug build )
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 10-internal+0-adhoc.ninjia02.jdk-jdk, mixed mode, tiered, compressed oops, serial gc, linux-aarch64)
# Problematic frame:
# j  java.lang.ClassLoader.findNative(Ljava/lang/ClassLoader;Ljava/lang/String;)J+16 java.base
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/ninjia02/Work/jdk/master/jdk-jdk/make/core.25350)
#
# An error report file with more information is saved as:

The hs_err file attached.

I think it is caused by recent code merge from (?):

http://hg.openjdk.java.net/jdk/jdk10/rev/2e867226b914

Revert this patch, build pass. However, I cannot access JDK-8174962. 



Comments
Changed affected 9 version to be the specific 9.0.4 release, since 9.0.1 should be fine as it doesn't have JDK-8174962.
22-01-2018

Hi [~adinn], Thank you for the work. Your webrev can be applied to jdk10 repo cleanly, except for some warnings about tabs found instead of spaces. I have launched a JTreg test for your patch. One new failure found with fastdebug build: test/hotspot/jtreg/gtest/GTestWrapper.java. Error log attached as hs_err_pid24224.log. Could you please take a look? The following commands can reproduce the failure: $ make images && make test-image-hotspot-jtreg-native && make test-image-hotspot-gtest $ jtreg -othervm -a -va -testjdk:./images/jdk -server -nativepath:./images/test/hotspot/jtreg/native ~/Work/jdk/master/jdk-jdk/test/hotspot/jtreg/gtest/GTestWrapper.java
22-01-2018

Fix request approved.
20-01-2018

Fix Request: Why? Fixing this bug is critical because without it the AArch64 build crashes on startup. What? The fix adds AArch64-specific changes which were omitted when JDK-8174962 was fixed. Risk? The risk is low because the same patch has already been successfully applied to jdk8 and passed the TCK. On jdk10 it has been tested by running java, javac and netbeans. Reviewers? It has been reviewed by Andrew Dinn and Andrew Haley. webrev (for jdk10 and jdkdev) is here: http://cr.openjdk.java.net/~adinn/8195685/webrev
20-01-2018

This also affects JDK9.
18-01-2018

PPC64 has related work: http://hg.openjdk.java.net/jdk/jdk10/rev/d9fcb7ba8133 , but I cannot view the bug (JDK-8191907) details either.
18-01-2018