JDK-8209889 : RedefineStress tests crash
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-08-23
  • Updated: 2019-05-28
  • Resolved: 2018-10-05
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 12
11.0.2Fixed 12 b15Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Sub Tasks
JDK-8210861 :  
Description
vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java

#  Internal Error (/scratch/opt/mach5/mesos/work_dir/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S150176/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/1a72085d-2fb3-4c17-95fb-f55cfe80d904/runs/d0af250e-7cd1-4b65-81d4-a5fc073dbfa1/workspace/open/src/hotspot/share/runtime/handles.inline.hpp:73), pid=20865, tid=20923
#  assert(((Metadata*)obj)->is_valid()) failed: obj is valid
#

And

vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java	

#
#  Internal Error (/scratch/opt/mach5/mesos/work_dir/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S150176/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/1a72085d-2fb3-4c17-95fb-f55cfe80d904/runs/d0af250e-7cd1-4b65-81d4-a5fc073dbfa1/workspace/open/src/hotspot/share/oops/instanceKlass.cpp:3791), pid=3887, tid=3908
#  assert(method->is_obsolete() || method->is_running_emcp()) failed: emcp method cannot run after emcp bit is cleared
#

Moving purging these out of do_unloading might not be working.
Comments
Fix Request This intermittent crash can cause memory to be reclaimed while the memory is in the queue of methods to be compiled. This crash only happens when the method is redefined, which is a small window. The fix is simple; to move the code that the safepoints that leaks the compile task. This code causing the breakage was added in jdk11. The JDK 12 patch does not apply cleanly. There was dead code removed in 12 in the area. Code was tested with mach5 hs-tier1 and 2. Review thread. Last two entries are the jdk11 review. http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-October/034509.html
05-10-2018