JDK-8245986 : AArch64: Provide information when hitting a HaltNode
Type:Bug
Component:hotspot
Sub-Component:compiler
Affected Version:15
Priority:P4
Status:Resolved
Resolution:Fixed
OS:generic
CPU:aarch64
Submitted:2020-05-27
Updated:2024-07-16
Resolved:2020-05-29
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.
Here is the new crash report with Andrew's patch.
Compare it with previous one https://bugs.openjdk.java.net/browse/JDK-8230552?focusedCommentId=14334977&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14334977 ,the biggest difference is that the callstack becomes much more clear. it reflects user's callstack.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (0xe0000000), pid=38656, tid=38657
# stop: unsafe off-heap access with zero address
#
# JRE version: OpenJDK Runtime Environment (15.0) (slowdebug build 15-internal+0-adhoc.ubuntu.jdk)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 15-internal+0-adhoc.ubuntu.jdk, compiled mode, compressed oops, g1 gc, linux-aarch64)
# Problematic frame:
# J 31 c2 compiler.unsafe.TestUnsafeLoadWithZeroAddress.main([Ljava/lang/String;)V (17 bytes) @ 0x0000ffff810d59a4 [0x0000ffff810d5940+0x0000000000000064]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/ubuntu/build/jdk/core.38656)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED -XX:+PrintOptoAssembly -Xcomp -XX:CompileCommand=compileonly,compiler.unsafe.TestUnsafeLoadWithZeroAddress::* -XX:+AlwaysIncrementalInline -XX:SuppressErrorAt=/cfgnode.hpp:179 -XX:SuppressErrorAt=/cfgnode.hpp:174 -XX:-TieredCompilation -XX:-ShowMessageBoxOnError compiler.unsafe.TestUnsafeLoadWithZeroAddress
Host: ip-172-31-84-186, AArch64, 64 cores, 246G, Ubuntu 18.04.3 LTS
Time: Wed May 27 18:44:34 2020 UTC elapsed time: 1.455148 seconds (0d 0h 0m 1s)
--------------- T H R E A D ---------------
Current thread (0x0000ffff84034380): JavaThread "main" [_thread_in_Java, id=38657, stack(0x0000ffff88f26000,0x0000ffff89126000)]
Stack: [0x0000ffff88f26000,0x0000ffff89126000], sp=0x0000ffff89124330, free space=2040k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 31 c2 compiler.unsafe.TestUnsafeLoadWithZeroAddress.main([Ljava/lang/String;)V (17 bytes) @ 0x0000ffff810d59a4 [0x0000ffff810d5940+0x0000000000000064]
v ~StubRoutines::call_stub
V [libjvm.so+0x9db0c4] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x518
V [libjvm.so+0xe8ec04] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x34
V [libjvm.so+0x9daba0] JavaCalls::call(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0xa0
V [libjvm.so+0xa96f90] jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x130
V [libjvm.so+0xaad680] jni_CallStaticVoidMethod+0x37c
C [libjli.so+0x4fac] JavaMain+0xb58
C [libjli.so+0xb900] ThreadJavaMain+0x28
C [libpthread.so.0+0x7088] start_thread+0xb0
siginfo: si_signo: 4 (SIGILL), si_code: 1 (ILL_ILLOPC), si_addr: 0x0000ffff810d59a4