Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1249037

Summary: JDK 8 1.8.0.60 is FTBFS on aarch64
Product: [Fedora] Fedora Reporter: Peter Robinson <pbrobinson>
Component: java-1.8.0-openjdkAssignee: jiri vanek <jvanek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: high    
Version: rawhideCC: ahughes, dbhole, jerboaa, jvanek, msrb, omajid, sgehwolf
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-05 08:54:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 922257    

Description Peter Robinson 2015-07-31 12:10:41 UTC
JDK 8 1.8.0.60 is failing on aarch64. All but two of the aarch64 builders are currently on 4.x kernels (currently 4.0.8) and that seems to have some issue but it also fails on a builder with kernel 3.19.x

3.19.x:
http://arm.koji.fedoraproject.org//work/tasks/4494/3104494/build.log

BUILD_BOOTSTRAP_LANGTOOLS
++ /usr/bin/wc /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch.tmp
++ /usr/bin/tr -s ' '
++ /usr/bin/cut -f 2 -d ' '
+ /usr/bin/echo Compiling 780 files for BUILD_BOOTSTRAP_LANGTOOLS
Compiling 780 files for BUILD_BOOTSTRAP_LANGTOOLS
BuildLangtools.gmk:113: Building /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch  (from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/JavaFileObject.java) (/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/JavaFileObject.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/OptionChecker.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/JavaFileManager.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/JavaCompiler.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/ForwardingJavaFileManager.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/Tool.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/StandardJavaFileManager.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/DiagnosticListener.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/ToolProvider.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/FileObject.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/ForwardingFileObject.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/package-info.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/Diagnostic.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/DocumentationTool.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/DiagnosticCollector.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/StandardLocation.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/SimpleJavaFileObject.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/tools/ForwardingJavaFileObject.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/annotation/processing/FilerException.java /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes/javax/annotation/processing/Processor.java  ... [in total 780 files] newer)
( /usr/lib/jvm/java-openjdk/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g  -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/gensrc" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap  @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch.tmp && /usr/bin/mv /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch.tmp /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch)
+ /usr/lib/jvm/java-openjdk/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -implicit:none -sourcepath /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/gensrc -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch.tmp
/bin/bash: line 1:   342 Killed                  /usr/lib/jvm/java-openjdk/bin/javac -XDignore.symbol.file=true -g -Xlint:all,-deprecation -Werror -g -implicit:none -sourcepath "/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/src/share/classes:/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/gensrc" -d /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap @/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/langtools/btclasses/bootstrap/_the.BUILD_BOOTSTRAP_LANGTOOLS_batch.tmp
gmake[1]: *** No rule to make target 'all', needed by 'default'.  Stop.
gmake[1]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/langtools/make'
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk//make/Main.gmk:83: recipe for target 'langtools-only' failed
make: *** [langtools-only] Error 2

Comment 1 Peter Robinson 2015-07-31 12:41:38 UTC
arm.koji.fedoraproject.org//work/tasks/7769/3107769/build.log

With a 4.0.8 kernel, all else the same as other builder. OS is Fedora 21. Mainline builders are on a 4.0.x kernel too and it builds fine there

+ cd /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot
+ pwd
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/defs.make:265: Running shell command 
+ cd /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/linux
+ pwd
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/linux/Makefile:233: Running shell command 
+ uname -r
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/linux/Makefile:238: Building check_os_version 
>&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
++ uname -a
+ echo '*** This OS is not supported:' Linux aarch64-06a.arm.fedoraproject.org 4.0.8-200.fc21.aarch64 '#1' SMP Thu Jul 16 22:33:19 UTC 2015 aarch64 aarch64 aarch64 GNU/Linux
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/linux/Makefile:238: recipe for target 'check_os_version' failed
gmake[5]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/hotspot'
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make/linux/Makefile:259: recipe for target 'linux_aarch64_compiler2/debug' failed
gmake[4]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/hotspot'
Makefile:226: recipe for target 'generic_build2' failed
gmake[3]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make'
Makefile:177: recipe for target 'product' failed
gmake[2]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/hotspot/make'
*** This OS is not supported: Linux aarch64-06a.arm.fedoraproject.org 4.0.8-200.fc21.aarch64 #1 SMP Thu Jul 16 22:33:19 UTC 2015 aarch64 aarch64 aarch64 GNU/Linux
+ exit 1
gmake[5]: *** [check_os_version] Error 1
gmake[4]: *** [linux_aarch64_compiler2/debug] Error 2
gmake[3]: *** [generic_build2] Error 2
gmake[2]: *** [product] Error 2
gmake[1]: *** [/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/hotspot/_hotspot.timestamp] Error 2
HotspotWrapper.gmk:44: recipe for target '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/build/jdk8.build/hotspot/_hotspot.timestamp' failed
gmake[1]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/make'
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk//make/Main.gmk:108: recipe for target 'hotspot-only' failed
make: *** [hotspot-only] Error 2

Comment 2 Andrew John Hughes 2015-07-31 13:20:23 UTC
AArch64 uses a different HotSpot to the other OpenJDK builds. I suspect it needs an update to include:

changeset:   8444:908b2d7253fc
user:        sgehwolf
date:        Tue Mar 10 21:20:10 2015 -0400
summary:     8074312: Enable hotspot builds on 4.x Linux kernels

Comment 3 Andrew John Hughes 2015-07-31 13:27:43 UTC
AArch64 on rawhide seems to be using:

changeset:   8538:3639e38bd73f
tag:         jdk8u51-b16
user:        asaha
date:        Mon Jun 01 11:40:55 2015 -0700
summary:     Added tag jdk8u51-b15 for changeset 9a70cba6a3c3

according to the spec file. It needs to be bumped to the u60 version. Current tip is:

changeset:   8549:11098f828fb8
tag:         tip
parent:      8463:1ad2c1aa7aac
parent:      8548:6b4ea38c01bd
user:        adinn
date:        Mon Jul 20 15:22:38 2015 +0100
summary:     Merge

Comment 4 Severin Gehwolf 2015-07-31 14:45:26 UTC
(In reply to Peter Robinson from comment #1)
> arm.koji.fedoraproject.org//work/tasks/7769/3107769/build.log
> 
> With a 4.0.8 kernel, all else the same as other builder. OS is Fedora 21.
> Mainline builders are on a 4.0.x kernel too and it builds fine there
> 
> + cd
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot
> + pwd
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/defs.make:265: Running shell command 
> + cd
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/linux
> + pwd
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/linux/Makefile:233: Running shell command 
> + uname -r
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/linux/Makefile:238: Building check_os_version 
> >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
> ++ uname -a
> + echo '*** This OS is not supported:' Linux
> aarch64-06a.arm.fedoraproject.org 4.0.8-200.fc21.aarch64 '#1' SMP Thu Jul 16
> 22:33:19 UTC 2015 aarch64 aarch64 aarch64 GNU/Linux
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/linux/Makefile:238: recipe for target 'check_os_version' failed
> gmake[5]: Leaving directory
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/build/jdk8.build/hotspot'
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> hotspot/make/linux/Makefile:259: recipe for target
> 'linux_aarch64_compiler2/debug' failed
> gmake[4]: Leaving directory
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/build/jdk8.build/hotspot'
> Makefile:226: recipe for target 'generic_build2' failed
> gmake[3]: Leaving directory
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/hotspot/make'
> Makefile:177: recipe for target 'product' failed
> gmake[2]: Leaving directory
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/hotspot/make'
> *** This OS is not supported: Linux aarch64-06a.arm.fedoraproject.org
> 4.0.8-200.fc21.aarch64 #1 SMP Thu Jul 16 22:33:19 UTC 2015 aarch64 aarch64
> aarch64 GNU/Linux
> + exit 1
> gmake[5]: *** [check_os_version] Error 1
> gmake[4]: *** [linux_aarch64_compiler2/debug] Error 2
> gmake[3]: *** [generic_build2] Error 2
> gmake[2]: *** [product] Error 2
> gmake[1]: ***
> [/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/build/jdk8.build/hotspot/_hotspot.timestamp] Error 2
> HotspotWrapper.gmk:44: recipe for target
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/build/jdk8.build/hotspot/_hotspot.timestamp' failed
> gmake[1]: Leaving directory
> '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/
> openjdk/make'
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.60-9.b24.fc23.aarch64/openjdk/
> /make/Main.gmk:108: recipe for target 'hotspot-only' failed
> make: *** [hotspot-only] Error 2

This one is:
https://bugs.openjdk.java.net/browse/JDK-8074312

Should be fixed in u60 or can be fixed with a spec file fix. Bug in comment 0 I have no idea about.

Comment 5 Severin Gehwolf 2015-07-31 14:55:30 UTC
Thinking more about this. If JDK-8074312 is not fixed for aarch64 hotspot then https://bugs.openjdk.java.net/browse/JDK-8078666 likely isn't either. JDK-8078666 could cause a failure such as in comment 0. See bug 1208369. So updating aarch64 hotspot to what Andrew Hughes suggests makes sense to me.

Comment 6 Peter Robinson 2015-07-31 15:04:40 UTC
> This one is:
> https://bugs.openjdk.java.net/browse/JDK-8074312
> 
> Should be fixed in u60 or can be fixed with a spec file fix. Bug in comment
> 0 I have no idea about.

I would think a rebase to u60 would be better so we're on the same as x86?

Comment 7 Andrew John Hughes 2015-07-31 15:23:48 UTC
Rebasing to:

changeset:   8549:11098f828fb8
tag:         tip
parent:      8463:1ad2c1aa7aac
parent:      8548:6b4ea38c01bd
user:        adinn
date:        Mon Jul 20 15:22:38 2015 +0100
summary:     Merge

will make AArch64 u60-b24, as with the main trees. It appears to have regressed by syncing with u51 from RHEL 7.

Comment 8 Peter Robinson 2015-08-03 21:43:31 UTC
any update on this?

Comment 9 jiri vanek 2015-08-04 14:54:17 UTC
There was update in repos
http://hg.openjdk.java.net/aarch64-port/jdk8/

3 days ago 	adinn 	Remove jcheckdefault tip
3 days ago 	adinn 	Added tag arch64-jdk8u60-b24 for changeset d00df0227041
2 weeks ago 	adinn 	Mergearch64-jdk8u60-b24
2 weeks ago 	asaha 	Added tag jdk8u60-b24 for changeset 280834e00e62
3 weeks ago 	asaha 	Mergejdk8u60-b24

I' dont know if it is suposed to complety fix an issue,  but I iwl update anyway.

Comment 10 jiri vanek 2015-08-04 17:29:18 UTC
New sources pushed, and builds arew running with them for primary arches. Please build  with them and let us know!

Comment 11 Peter Robinson 2015-08-04 22:55:41 UTC
So it looks like the kernel 4.0 issue is fixed

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3114279

this failure looks like the same one we were seeing on the host with the 3.19 kernel above. This build was the one prior to the mainline prelink change so I'll try again for reference with the latest

Comment 12 Omair Majid 2015-08-04 23:01:23 UTC
My a-few-hours-old scratch builds for this worked: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3114437

Comment 13 Peter Robinson 2015-08-04 23:14:27 UTC
oh good :)

Comment 14 Omair Majid 2015-08-04 23:42:45 UTC
Rawhide looks okay, but F23 is still failing: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3114503

I think I know what's happening here. The version of OpenJDK 8 used to build this is '1:1.8.0.60-3.b24.fc23'. This version left out the fix for a memory leak that occurs when compiled with GCC 5 (see bug 1208369) on aarch64. So now it allocates too much memory and is killed by the OOM-killer only on aarch64.

Would it be possible to tag an older build into the buildroot? java-1.8.0-openjdk-1.8.0.60-7.b16.fc23 was used to build '1:1.8.0.60-3.b24.fc23' so it seems like a good version to use.

Comment 15 Peter Robinson 2015-08-05 07:59:02 UTC
I'll untag the -3 build which will allow the next oldest to take over. Or what ever the equiv latest in F-24 is

Comment 16 Peter Robinson 2015-08-05 08:54:02 UTC
Omair: good catch on the bad previous build.

Andrew/Jiri/Omair/Severin and anyone else I'm not aware of thank you all very much with your assistance in getting this fixed, much appreciated!