-
Bug
-
Resolution: Duplicate
-
P2
-
11.0.18-oracle, 20
-
aarch64
-
linux
runtime/cds/appcds/redefineClass/RedefineRunningMethods_Shared.java
Here's a snippet from the log file:
----------System.err:(155/12572)----------
stdout: [The class is shared as expected: RedefineRunningMethods_Shared
The class is shared as expected: RedefineRunningMethods_SharedHelper
The class is shared as expected: RedefineRunningMethods
The class is shared as expected: RedefineRunningMethods_B
The class is shared as expected: RedefineClassHelper
The class is shared as expected: jdk.test.lib.compiler.InMemoryJavaCompiler
The class is shared as expected: jdk.test.lib.compiler.InMemoryJavaCompiler$FileManagerWrapper
The class is shared as expected: jdk.test.lib.compiler.InMemoryJavaCompiler$FileManagerWrapper$1
The class is shared as expected: jdk.test.lib.compiler.InMemoryJavaCompiler$MemoryJavaFileObject
[2.624s][trace][redefine,class,iklass,add] adding previous version ref for RedefineRunningMethods_B, EMCP_cnt=4
[2.624s][trace][redefine,class,iklass,add] scratch class added; one of its methods is on_stack.
[2.654s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.654s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.654s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.654s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
infinite called
[2.693s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.693s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.693s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.693s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.715s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.715s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.715s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.715s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.740s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.740s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.740s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.740s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.762s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.762s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.762s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.762s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.787s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.787s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.787s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.787s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.811s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.811s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.811s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.811s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.834s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.834s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.834s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.834s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.856s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.856s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.856s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.856s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.878s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.878s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.878s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.879s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.902s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.902s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.902s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.902s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.943s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.943s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.943s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.943s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.966s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.966s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.966s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.966s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[2.988s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[2.988s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[2.988s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[2.988s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.024s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.024s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.024s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.024s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.048s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.048s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.048s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.048s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.073s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.073s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.073s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.073s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.097s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.097s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.097s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.097s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.121s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.121s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.121s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.121s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.144s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.144s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.144s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.144s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.172s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.172s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.172s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.172s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.295s][trace][redefine,class,iklass,add ] adding previous version ref for RedefineRunningMethods_B, EMCP_cnt=2
[3.295s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.295s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.295s][trace][redefine,class,iklass,purge] previous version stats: live=1, deleted=0
[3.295s][trace][redefine,class,iklass,add ] infinite_emcp(()V): flush obsolete method @3 in version @0
[3.295s][trace][redefine,class,iklass,add ] localSleep(()V): flush obsolete method @4 in version @0
[3.295s][trace][redefine,class,iklass,add ] scratch class added; one of its methods is on_stack.
[3.328s][trace][redefine,class,iklass,purge] Class unloading: has_previous_versions = true
[3.328s][trace][redefine,class,iklass,purge] RedefineRunningMethods_B: previous versions
[3.328s][trace][redefine,class,iklass,purge] previous version 0x000000080113b178 is alive
[3.328s][trace][redefine,class,iklass,purge] previous version 0x000000080113ab30 is alive
[3.328s][trace][redefine,class,iklass,purge] previous version stats: live=2, deleted=0
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/nmethod.cpp:3249
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S94905/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/5ecec92a-60d9-4c7e-9510-cf8bac54efe9/runs/863af1fa-8803-489d-829f-2e54063e48d5/workspace/open/src/hotspot/share/code/nmethod.cpp:3249), pid=3351329, tid=3351333
# assert(db != __null && !db->is_adapter_blob()) failed: must use stub!
#
# JRE version: Java(TM) SE Runtime Environment (20.0+19) (fastdebug build 20-ea+19-1326)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 20-ea+19-1326, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x1448424][thread 3351361 also had an error]
DirectNativeCallWrapper::verify_resolve_call(unsigned char*) const+0x54
#
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S94889/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6ca99daf-28b6-456d-84e1-2511b8bcab33/runs/e3985560-a056-4d43-82fc-761d1adaf63f/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_runtime/scratch/3/core.3351329)
#
Unsupported internal testing APIs have been used.
# An error report file with more information is saved as:
# /opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S94889/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6ca99daf-28b6-456d-84e1-2511b8bcab33/runs/e3985560-a056-4d43-82fc-761d1adaf63f/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_runtime/scratch/3/hs_err_pid3351329.log
[thread 3351359 also had an error]
[thread 3351357 also had an error]
[thread 3351394 also had an error]
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
];
stderr: [java version "20-ea" 2023-03-21
Java(TM) SE Runtime Environment (fastdebug build 20-ea+19-1326)
Java HotSpot(TM) 64-Bit Server VM (fastdebug build 20-ea+19-1326, mixed mode, sharing)
]
exitValue = 134
java.lang.RuntimeException: Hotspot crashed
at jdk.test.lib.cds.CDSTestUtils.checkCommonExecExceptions(CDSTestUtils.java:320)
at jdk.test.lib.cds.CDSTestUtils.checkExec(CDSTestUtils.java:473)
at jdk.test.lib.cds.CDSTestUtils.checkExec(CDSTestUtils.java:460)
at RedefineRunningMethods_Shared.main(RedefineRunningMethods_Shared.java:78)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
at java.base/java.lang.Thread.run(Thread.java:1591)
JavaTest Message: Test threw exception: java.lang.RuntimeException
JavaTest Message: shutting down test
result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Hotspot crashed
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x0000fffd08054ce0): WorkerThread "ZWorker#0" [stack: 0x0000fffd0cbe0000,0x0000fffd0cde0000] [id=3351333]
Stack: [0x0000fffd0cbe0000,0x0000fffd0cde0000], sp=0x0000fffd0cdde5c0, free space=2041k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1448424] DirectNativeCallWrapper::verify_resolve_call(unsigned char*) const+0x54 (nmethod.cpp:3249)
V [libjvm.so+0x9a4778] CompiledIC::is_call_to_interpreted() const+0x98 (compiledIC.cpp:353)
V [libjvm.so+0x9a71d4] CompiledIC::verify()+0x54 (compiledIC.cpp:691)
V [libjvm.so+0x9ad8d0] CompiledMethod::cleanup_inline_caches_impl(bool, bool)+0x1f0 (compiledIC.hpp:303)
V [libjvm.so+0x9ae738] CompiledMethod::unload_nmethod_caches(bool)+0xc8 (compiledMethod.cpp:550)
V [libjvm.so+0x194ae4c] ZNMethodUnlinkClosure::do_nmethod(nmethod*)+0xbc (zNMethod.cpp:309)
V [libjvm.so+0x194d0ac] ZNMethodTableIteration::nmethods_do(NMethodClosure*)+0x8c (zNMethodTableIteration.cpp:72)
V [libjvm.so+0x194aa48] ZNMethodUnlinkTask::work()+0x28 (zNMethod.cpp:338)
V [libjvm.so+0x197f708] ZTask::Task::work(unsigned int)+0x28 (zTask.cpp:34)
V [libjvm.so+0x18f3678] WorkerThread::run()+0x98 (workerThread.cpp:69)
V [libjvm.so+0x17af638] Thread::call_run()+0xf8 (thread.cpp:224)
V [libjvm.so+0x14c4824] thread_native_entry(Thread*)+0x100 (os_linux.cpp:710)
C [libpthread.so.0+0x7908] start_thread+0x188
This is a ZGC WorkerThread calling compiler code and failing
an assertion. I'm starting this bug off in hotspot/gc for initial triage.
- duplicates
-
JDK-8296450 applications/runthese/RunThese30M.java fails with error assert(db != 0L && !db->is_adapter_blob()) failed: must use stub!
-
- Closed
-
-
JDK-8293584 CodeCache::old_nmethods_do incorrectly filters is_unloading nmethods
-
- Resolved
-
- is blocked by
-
JDK-8293584 CodeCache::old_nmethods_do incorrectly filters is_unloading nmethods
-
- Resolved
-
- relates to
-
JDK-8294002 Alignment of static call stubs is inconsistent
-
- Open
-
-
JDK-8294538 missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
-
- Resolved
-
-
JDK-8293584 CodeCache::old_nmethods_do incorrectly filters is_unloading nmethods
-
- Resolved
-
-
JDK-8222841 Incorrect static call stub interactions with class unloading
-
- Closed
-
-
JDK-8296440 Remove Method* handling from cleanup_inline_caches_impl
-
- In Progress
-