Skip to content

Temurin JRE 25 ARM64 fails to start on Nanos unikernel, IBM Semeru JRE 25 works well #1397

@AngeloRubens

Description

@AngeloRubens

Please provide a brief summary of the bug

Description:
I encountered an issue running Temurin JRE 25 on ARM64 on the Nanos unikernel. The same JRE works fine on x86_64 Nanos and standard Linux distributions, but fails on ARM64 Nanos, whereas IBM Semeru Runtime 25 ARM64 runs correctly.

Observed behavior:

Temurin JRE ARM64 fails to start on Nanos unikernel, with JVM fatal errors.

Semeru JRE ARM64 works correctly under the same conditions.

Temurin JRE amd64 works well on nanos(see run on nanos on oracle oci http://158.180.236.67:8080/primefaces-showcase-16.0.0-SNAPSHOT/info.xhtml).

Did you test with the latest update version?

  • Yes

Please provide steps to reproduce where possible

Install ops on your Nanos system:

curl https://ops.city/get.sh -sSfL | sh

Load IBM Semeru JRE 25 (ARM64) with verbose output:

ops pkg load AngeloRubens/SemeruJREarm64Linux:25.0.1 --arch arm64 --nightly --verbose

This executes correctly; java runs without errors.

Load Temurin JRE 25 (ARM64) with verbose output:

ops pkg load AngeloRubens/TemurinJREarm64Linux:25.0.1 --arch arm64 --nightly --verbose

Expected Results

Expected behavior:

Temurin JRE 25 ARM64 should start and run as IBM Semeru does.

Actual Results

(add --trace after --verbose option, to see the entire stack trace )
ops pkg load AngeloRubens/TemurinJREarm64Linux:25.0.1 --arch arm64 --nightly   --verbose
running local instance
booting /home/lop/.ops/images/java ...
[0.117985] en1: assigned 10.0.2.15
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (assembler_aarch64.hpp:246), pid=2, tid=3
#  guarantee(val < (1ULL << nbits)) failed: Field too big for insn
#
# JRE version:  (25.0.1+8) (build )
# Java VM: OpenJDK 64-Bit Server VM (25.0.1+8-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, serial gc, linux-aarch64)
# Problematic frame:
# V  [libjvm.so+0xbc4234]  MacroAssembler::zero_dcache_blocks(Register, Register)+0x3b0
#
# Core dump will be written. Default location: core.2 (may not exist)
#
# An error report file with more information is saved as:
# //hs_err_pid2.log
#
#

*** signal 6 received by tid 3, errno 0, code -6

What Java Version are you using?

Temurin jre 25 download from eclipse temurin site and build a package for nanos(https://repo.ops.city/v2/packages/AngeloRubens/TemurinJREarm64Linux/25.0.1/arm64/show)

What is your operating system and platform?

NANOS UNIKERNEL ON ARM64

How did you install Java?

No response

Did it work before?

Did you test with other Java versions?

eclipse temurin 25 amd64, run ok on nanos unikernel

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    Waiting on OPbugSomething isn't workingjbs:reportedSomeone from our org has reported it to OpenJDK

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions