JDK-4104855 : JCK tests using ClassLoader crash JVM
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.2.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.5,solaris_2.5.1
  • CPU: sparc
  • Submitted: 1998-01-19
  • Updated: 1999-01-15
  • Resolved: 1999-01-15
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.
Other
1.2.0 1.2beta3Fixed
Related Reports
Duplicate :  
Duplicate :  
Description

Name: szC45993			Date: 01/19/98



The JCK tests (ClassInterf02101, ClassInterf02301, ClassInterf02501, 
ClassInterf02801, ClassInterf02901, ClassInterf03301, ClassInterf03701, 
ClassInterf04001, ClassInterf04401, ClassInterf04501, ClassInterf04601, 
ClassInterf04801, ClassInterf04802, ClassInterf05601, ClassInterf05602, 
ClassInterf05701) using ClassLoader crash 1.2b3C JVM for WinNT.
All these tests crash jvm under the ClassLoader.defineClass() method
invocation.
For example, see the results of the ClassInterf02301 run:

? export CLASSPATH="H:\\ld32\\sqe\\harness_win\\classes;H:\\ld32\\for_WinNT\\classes"
? H:\\ld14\\java\\dest\\jdk1.2b3C\\win32\\bin\\java -verify javasoft.sqe.tests.vm.constantpool.ClassInterf023.ClassInterf02301.ClassInterf02301
********ClassInterf02301.run*********
( ###loadClass: javasoft.sqe.tests.vm.constantpool.ClassInterf023.ClassInterf02301.Intrmdt true
( %%%loadClassData: Intrmdt
) %%%loadClassData: Intrmdt
( @@@defineClass: Intrmdt
[1] + Done(139) 
  118   Segmentation violation  H:\ld14\java\dest\jdk1.2b3C\win32\bin\java


Hook 5(hook5): test

======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: 1.2beta3 INTEGRATED IN: 1.2beta3
14-06-2004

EVALUATION This is caused by a silly typo in ClassLoader.c: TranslateToVMClassName was called on NULL names. *** /tmp/geta11704 Mon Jan 19 23:57:19 1998 --- ClassLoader.c Mon Jan 19 22:58:00 1998 *************** *** 109,120 **** utfName = buf; } (*env)->GetStringUTFRegion(env, name, 0, len, utfName); } else { utfName = NULL; } - TranslateToVMClassName(utfName); - result = (*env)->DefineClass(env, utfName, loader, body, length); if (utfName && utfName != buf) --- 109,119 ---- utfName = buf; } (*env)->GetStringUTFRegion(env, name, 0, len, utfName); + TranslateToVMClassName(utfName); } else { utfName = NULL; } result = (*env)->DefineClass(env, utfName, loader, body, length); if (utfName && utfName != buf)
11-06-2004