Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jdk11u-linux-aarch64-dragonwell : /usr/bin/bash: line 1: 41820 Illegal instruction #2454

Closed
andrew-m-leonard opened this issue Feb 5, 2021 · 12 comments · Fixed by adoptium/ci-jenkins-pipelines#61
Assignees
Labels
aarch Issues that affect or relate to the aarch ARCHITECTURE buildbreak High priority issues that cause build breaks in jenkins or build scripts dragonwell/alibaba Issues that are enhancements or bugs raised against the Dragonwell JVM of the Alibaba project
Milestone

Comments

@andrew-m-leonard
Copy link
Contributor

https://ci.adoptopenjdk.net/view/Failing%20Builds/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-aarch64-dragonwell/2/console

18:16:31  Creating support/modules_libs/jdk.hotspot.agent/libsaproc.so from 7 file(s)
18:17:34  Compiling 4 files for BUILD_JIGSAW_TOOLS
18:17:34  /usr/bin/bash: line 1: 41820 Illegal instruction     (core dumped) /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk/bin/java -Xms64M -Xmx1600M -XX:ThreadStackSize=1536 -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1 -cp /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/buildtools/tools_jigsaw_classes --add-exports java.base/jdk.internal.module=ALL-UNNAMED build.tools.jigsaw.AddPackagesAttribute /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk > >(/usr/bin/tee -a /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk/_packages_attribute.done.log) 2> >(/usr/bin/tee -a /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk/_packages_attribute.done.log >&2)
18:17:34  ExplodedImageOptimize.gmk:40: recipe for target '/home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk/_packages_attribute.done' failed
18:17:34  gmake[3]: *** [/home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-aarch64-dragonwell/workspace/build/src/build/linux-aarch64-normal-server-release/jdk/_packages_attribute.done] Error 1
18:17:34  make/Main.gmk:411: recipe for target 'exploded-image-optimize' failed
18:17:34  gmake[2]: *** [exploded-image-optimize] Error 1
18:17:34  gmake[2]: *** Waiting for unfinished jobs....
@andrew-m-leonard andrew-m-leonard added the buildbreak High priority issues that cause build breaks in jenkins or build scripts label Feb 5, 2021
@M-Davies M-Davies added aarch Issues that affect or relate to the aarch ARCHITECTURE dragonwell/alibaba Issues that are enhancements or bugs raised against the Dragonwell JVM of the Alibaba project labels Feb 5, 2021
@karianna
Copy link
Contributor

@joeyleeeeeee97 FYI

@sxa
Copy link
Member

sxa commented Feb 17, 2021

FWIW I can build dragonwell JDK11 on my CentOS7/aarch64 machine build-packet-centos74-armv8-1 without issues - build log attached. Here is the version output:
dragonwell11.log.gz

=JAVA VERSION OUTPUT=
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.9+0-202102171622)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.9+0-202102171622, mixed mode)
=/JAVA VERSION OUTPUT=

@joeyleeeeeee97
Copy link
Contributor

Could we restrict this on Alibaba's recently donated machines and see how it goes? Thanks

@sxa
Copy link
Member

sxa commented Feb 22, 2021

Hmmm it does seem to work on the alibaba machine based on https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-aarch64-dragonwell/16/ which initially makes me wonder if there's any hardware specific assembler in there.

Running java -version from that JRE tarball on a couple of other machines gives me a crash on four different types of machine.

@sxa
Copy link
Member

sxa commented Feb 22, 2021

I now believe this to be happening due to the -march=armv8.2-a+crypto flag on the compiler options which is presumably generating some hardware-specific instructions

@sxa
Copy link
Member

sxa commented Feb 22, 2021

@joeyleeeeeee97 Is this locking to certain types of aarch64 hardware intentional?

@sxa
Copy link
Member

sxa commented Feb 23, 2021

Reopening until we know what we want to target

@sxa sxa reopened this Feb 23, 2021
@joeyleeeeeee97
Copy link
Contributor

joeyleeeeeee97 commented Feb 24, 2021

@sxa Yes.. Refer to
image
https://github.com/alibaba/dragonwell11/wiki/Alibaba-Dragonwell-11-Release-Notes

We will alter this to-march=armv8.1 later

@sxa
Copy link
Member

sxa commented Feb 24, 2021

We will alter this to-march=armv8.1 later

Would you expect armv8.1 work on most aarch64 systems? I had a quick test and it still seemed to give the illegal instruction on one of my servers when built with that. I presume you've seen performance improvements from using th v8.2 option.

Also is there a timeline for switching?

@joeyleeeeeee97
Copy link
Contributor

@sxa After an internal discussion, we decided to keep that -march=armv8.2-a+crypto and only support some aarch64 systems.
So I will create an issue to limit all Dragonwell build & test on these machines.

@sxa
Copy link
Member

sxa commented Feb 25, 2021

That limit has already been done in https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/pull/61/files - I was expecting that to be temporary but sounds like it'll need to stay there. We will need to carefully consider at adopt what we call this version since it's not a straight aarch64 port and we don't want to give false hope to people which might result in extra bug reports (bearing in mind it doesn't work on the four other aarch64 systems I've tried) FYI @AdoptOpenJDK/tsc @andrew-m-leonard

@sxa
Copy link
Member

sxa commented Apr 19, 2021

Closing since the immediate problem has been solved but I'll raise another one to discuss naming of any builds that target the updated version of the architecture

@sxa sxa closed this as completed Apr 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aarch Issues that affect or relate to the aarch ARCHITECTURE buildbreak High priority issues that cause build breaks in jenkins or build scripts dragonwell/alibaba Issues that are enhancements or bugs raised against the Dragonwell JVM of the Alibaba project
Projects
None yet
5 participants