JDK-6536670 : JVM crashes in ClassLoader
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 6u1,7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-03-21
  • Updated: 2012-02-01
  • Resolved: 2011-04-23
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 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
Description
JVM crashes in the class loader:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x6785c]  memcpy+0x1c
V  [libjvm.so+0x1766e3]
V  [libjvm.so+0x178956]
V  [libjvm.so+0x36fa6e]
V  [libjvm.so+0x281a73]
V  [libjvm.so+0x2662e0]
C  [libjava.so+0xb581]  Java_java_lang_ClassLoader_defineClass1+0x1e1
J  java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
J  java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
...

The crash is observed in JDK 7-b09 and JDK 6u1-b06 under Linux and Windows. Solaris has not been tested.

Comments
EVALUATION integer overflow in the classfile stream. Perform the checks in such a way to remove the overflow.
04-06-2007

EVALUATION Test takes a random seed and does random modifications to the bytecodes.Good stress test. Target fix for JDK 7.
22-03-2007