JDK-8024391 : nsk/jvmti/RedefineClasses/StressRedefine crashes after failing to load class
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: hs25
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2013-09-06
  • Updated: 2013-10-17
  • Resolved: 2013-09-10
Related Reports
Duplicate :  
Relates :  
Description
The nsk/jvmti/RedefineClasses/StressRedefine crashes with the following error:

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x10143070, pid=5632, tid=9480
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b104) (build 1.8.0-ea-fastdebug-b104)
# Java VM: Java HotSpot(TM) Server VM (25.0-b48-internal-201308300552.brutisso.hs-gc-g1-mmap-fastdebug mixed mode windows-x86 )
# Problematic frame:
# J 11  java.lang.System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V (0 bytes) @ 0x10143070 [0x10143060+0x10]
#
# Core dump written. Default location: C:\local\aurora\sandbox\results\ResultDir\StressRedefine\hs_err_pid5632.mdmp
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp

The event log about internal exceptions shows that previously it failed to load a class, i.e. a ClassFormatError has been thrown:

Event: 14.747 Thread 0x055d9000 Exception <a 'java/lang/ClassFormatError': Method "append" in class MyClass has illegal signature "dd"> (0x3a2628f8) thrown at [\share\vm\classfile\classFileParser.cpp, line 1618]
Event: 14.771 Thread 0x057e1800 Exception <a 'java/lang/ClassFormatError': Truncated class file> (0x3a2d09f8) thrown at [\share\vm\classfile\classFileStream.cpp, line 30]

The log file at that point gives some cryptic error message:

[2013-09-03T10:43:46.74] >>>>>>>> Invoke RedefineClasses():
[2013-09-03T10:43:46.74] 	new class byte count=1744
[2013-09-03T10:43:46.77] ...\nsk\jvmti\RedefineClasses\StressRedefine\stressRedefine.c: FShowing seed in Worker, Thread.currentThread().getName()=Thread-36, Thread.currentThread().getId()=45, Thread.currentThread().toString()=Thread[Thread-36,5,main], randomSeed=1641512563355878478
[2013-09-03T10:43:52.24] #
[2013-09-03T10:43:52.24] # A fatal error has been detected by the Java Runtime Environment:
[2013-09-03T10:43:52.24] #

ILW: HLH -> crash, rare, no known workaround -> p2
Comments
Closing this bug as a dup of JDK-8022887. The cause is the same: the signature of a method has been changed. But the 8022887 hits the assert as the number of arguments is changed as well.
10-09-2013

Lowering the priority to P3 as it is too high, especially because we suspect it is a dup of JDK-8022887.
06-09-2013

Coleen, do you think this bug is a dup of your bug?
06-09-2013

I think this bug is a duplicate of the bug that Coleen is fixing: JDK-8022887 Assertion hit while using class and redefining it with RedefineClasses simultaneously Coleen has a fix out for code review.
06-09-2013