You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Tim Ellison (JIRA)" <ji...@apache.org> on 2006/12/14 18:27:23 UTC

[jira] Assigned: (HARMONY-875) [classlib][lang]API+j9 unexpected ClassFormatError for the method ClassLoader.defineClass(name, array, 4, -2);

     [ http://issues.apache.org/jira/browse/HARMONY-875?page=all ]

Tim Ellison reassigned HARMONY-875:
-----------------------------------

    Assignee: Tim Ellison

> [classlib][lang]API+j9 unexpected ClassFormatError for the method ClassLoader.defineClass(name, array, 4, -2);
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-875
>                 URL: http://issues.apache.org/jira/browse/HARMONY-875
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Tim Ellison
>
> The Harmony API+j9 throws ClassFormatError for the method ClassLoader.defineClass(name, array, 4, -2); while RI and API+DRLVM throws ArrayIndexOutOfBoundsException and IndexOutOfBoundsException.
> ================ test.java ======================
> public class test {
>     public static void main(String[] args) {
>         try {
>             testCL cl = new testCL();
>             String name = "0";
>             byte[] array0 = new byte[] { 2, 2, 2, 2, 2, 2, 2};
>             cl.defineKlass(name, array0, 4, -2);
>             System.out.println("Test failed");
>         } catch (IndexOutOfBoundsException e) {
>             System.out.println("Test passed: "+e);
>         } catch (Throwable e) {
>             System.out.println("Test failed: "+e);
>         }
>     }
> }
> class testCL extends ClassLoader {
>     public Class defineKlass(String s, byte[] ar,  int i1, int i2) throws ClassFormatError {
>         return super.defineClass(s, ar, i1, i2);
>     }
> }
> =============================================
> output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> Test passed: java.lang.ArrayIndexOutOfBoundsException
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Test failed: java.lang.ClassFormatError: (0) unexpected EOF at offset=-2
> C:\tmp\tmp17>C:\harmony\drlvm\trunk\build\win_ia32_msvc_debug\deploy\jre\bin\ij -cp . -showversion test
> Apache Harmony DRLVM HEAD-4807 (2006-05-02), Windows/ia32/msvc 1310, debug
> Test passed: java.lang.IndexOutOfBoundsException: Check your arguments

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira