Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8261595 | openjdk8u292 | Dmitry Chuyko | P4 | Resolved | Fixed | team |
compiler.runtime.criticalnatives.argumentcorruption.CheckLongArgs fails on AArch64.
At first sight the fix fromJDK-8167409 looks fine but it actually VM actually crashes with
# Internal Error (/export/dchuyko/hs10/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp:1130), pid=28285, tid=28327
# Error: Unimplemented()
Which is SharedRuntime::check_needs_gc_for_critical_native() called from generate_native_wrapper().
CriticalJNI support is at the time implemented in AArch64 port just partially. It will require unpack_array_argument() and generally some save_or_restore_arguments().
For 10 scope I'd propose to do 2 things (both):
1. Adopt original fix for incomplete implementation.
2. Set CriticalJNINatives to false on AArch64.
The latter will allow the test to pass in default configuration. There should be no performance hit currently because critical natives are only used by OracleUcrypto provider on Solaris.
At first sight the fix from
# Internal Error (/export/dchuyko/hs10/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp:1130), pid=28285, tid=28327
# Error: Unimplemented()
Which is SharedRuntime::check_needs_gc_for_critical_native() called from generate_native_wrapper().
CriticalJNI support is at the time implemented in AArch64 port just partially. It will require unpack_array_argument() and generally some save_or_restore_arguments().
For 10 scope I'd propose to do 2 things (both):
1. Adopt original fix for incomplete implementation.
2. Set CriticalJNINatives to false on AArch64.
The latter will allow the test to pass in default configuration. There should be no performance hit currently because critical natives are only used by OracleUcrypto provider on Solaris.
- backported by
-
JDK-8261595 AARCH64: Invalid value passed to critical JNI function
- Resolved
-
JDK-8260930 AARCH64: Invalid value passed to critical JNI function
- Closed
- relates to
-
JDK-8167409 Invalid value passed to critical JNI function
- Resolved
-
JDK-8213794 ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32
- Resolved
-
JDK-8200388 AArch64: Critical native support not fully implemented
- Closed