JDK-8220341 : Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,13
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2019-03-08
  • Updated: 2020-04-22
  • Resolved: 2019-03-12
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.

To download the current JDK release, click here.
JDK 11 JDK 13
11.0.5Fixed 13 b12Fixed
Related Reports
Relates :  
Description
#  Internal Error (/opt/opt/mach5/mesos/work_dir/slaves/07fc96ef-bf4d-487f-b22f-a84e49f5f44a-S132124/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ee5a95cb-a94a-4384-a0a1-2dc17865e3a3/runs/a591a3e7-d3d2-47d0-b344-5de9345e8fc5/workspace/open/src/hotspot/share/compiler/compileTask.cpp:186), pid=20205, tid=20221
#  assert(!is_unloaded()) failed: unloaded method on the stack
#
# JRE version: Java(TM) SE Runtime Environment (13.0) (fastdebug build 13-internal+0-jdk13-jdk.544)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 13-internal+0-jdk13-jdk.544, mixed mode, sharing, tiered, compressed oops, parallel gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x978b21]  CompileTask::mark_on_stack()+0x81

Stack: [0x00007f8329f00000,0x00007f832a000000],  sp=0x00007f8329ffe7d0,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x978b21]  CompileTask::mark_on_stack()+0x81
V  [libjvm.so+0x96d128]  CompileBroker::mark_on_stack()+0x98
V  [libjvm.so+0x123a51d]  MetadataOnStackMark::MetadataOnStackMark(bool)+0xdd
V  [libjvm.so+0x8cef00]  ClassLoaderDataGraph::walk_metadata_and_clean_metaspaces()+0x70
V  [libjvm.so+0x14c4b1e]  SafepointSynchronize::do_cleanup_tasks()+0x27e
V  [libjvm.so+0x14c5634]  SafepointSynchronize::begin()+0x374
V  [libjvm.so+0x173e1d7]  VMThread::loop()+0x807
V  [libjvm.so+0x173e609]  VMThread::run()+0xb9
V  [libjvm.so+0x164a1d6]  Thread::call_run()+0xf6
V  [libjvm.so+0x1359e4d]  thread_native_entry(Thread*)+0x10d
Comments
Fix-request After backport of JDK-8163511 we are also subject to the same regression in JDK11. The original change applies cleanly after JDK-8163511. I intend to push the two together. Tier1 tests are good with this change.
06-08-2019

This also affects JDK11 after backport of JDK-8163511.
06-08-2019

ILW = Assert during/after class redefinition (regression by JDK-8163511), several tests at tier6, disable class unloading = HMM = P2
08-03-2019