You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vladimir Ivanov (JIRA)" <ji...@apache.org> on 2006/07/07 05:56:29 UTC

[jira] Created: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

[classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
--------------------------------------------------------------------------------------------------------

         Key: HARMONY-791
         URL: http://issues.apache.org/jira/browse/HARMONY-791
     Project: Harmony
        Type: Bug

  Components: Classlib  
    Reporter: Vladimir Ivanov


The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 

================== test.java =======================
public class test  {
    public static void main (String[] args) { 
          new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
    } 
}
================================================

Output:
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))

java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
        at java.lang.String.<init>([III)V(Unknown Source)
        at test.main(test.java:3)

C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
java version 1.5 (subset)

(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
Exception in thread "main" java.lang.NegativeArraySizeException
        at java.lang.String.<init>(String.java:504)
        at test.main(test.java:3)

-- 
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


[classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by Tim Ellison <t....@gmail.com>.
I'm going to fix this simple bug in the String class logic.

It doesn't involve a shape change for String so should be
uncontroversial -- but squeal if you object.

Regards,
Tim

Vladimir Ivanov (JIRA) wrote:
> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
> 
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug
> 
>   Components: Classlib  
>     Reporter: Vladimir Ivanov
> 
> 
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> 
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> 
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> 
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> 
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


[jira] Closed: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]
     
Tim Ellison closed HARMONY-791:
-------------------------------


Verified by Vladimir.


> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>     Assignee: Tim Ellison
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Commented: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Alexey Petrenko (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-791?page=comments#action_12420140 ] 

Alexey Petrenko commented on HARMONY-791:
-----------------------------------------

According your patch...

Don't you think that the simply modified test will fail with your patch?

public class StringTest { 
    public static void main (String[] args) { 
        new String(new int[Integer.MAX_VALUE], 2, Integer.MAX_VALUE); 
    } 
}

With enough memory of course :)
I do not have enough memory on my machine so I can not check.

I suggest to check the sum of offset and count.

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Commented: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-791?page=comments#action_12420197 ] 

Vladimir Ivanov commented on HARMONY-791:
-----------------------------------------

The correct patch is:
Index: C:/harmony/trunk_0427/modules/luni/src/main/java/java/lang/String.java
===================================================================
--- C:/harmony/trunk_0427/modules/luni/src/main/java/java/lang/String.java	(revision 419772)
+++ C:/harmony/trunk_0427/modules/luni/src/main/java/java/lang/String.java	(working copy)
@@ -498,7 +498,7 @@
         super();
         if (codePoints == null)
             throw new NullPointerException();
-        if (offset < 0 || count < 0 || (offset + count) > codePoints.length)
+        if (offset < 0 || count < 0 || (long)offset + (long)count > codePoints.length)
             throw new IndexOutOfBoundsException();
         this.offset = 0;
         this.value = new char[count * 2];


> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Commented: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Alexey Petrenko (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-791?page=comments#action_12420229 ] 

Alexey Petrenko commented on HARMONY-791:
-----------------------------------------

Yes, that's good solution.

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Updated: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]

Vladimir Ivanov updated HARMONY-791:
------------------------------------

    Attachment: StringTest.patch

unit test

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Resolved: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]
     
Tim Ellison resolved HARMONY-791:
---------------------------------

    Resolution: Fixed

Thanks Vladimir.

Fixed in module LUNI at repo revision r420929.

Please check that this fully resolves your issue.


> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>     Assignee: Tim Ellison
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Updated: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]

Vladimir Ivanov updated HARMONY-791:
------------------------------------

    Attachment: String.patch

patch

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Assigned: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]

Tim Ellison reassigned HARMONY-791:
-----------------------------------

    Assign To: Tim Ellison

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>     Assignee: Tim Ellison
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Updated: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Alexey Petrenko (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-791?page=all ]

Alexey Petrenko updated HARMONY-791:
------------------------------------

    Attachment: String.java.patch

This is my version of the fix.

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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


[jira] Commented: (HARMONY-791) [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)

Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-791?page=comments#action_12420482 ] 

Vladimir Ivanov commented on HARMONY-791:
-----------------------------------------

verified, thanks

> [classlib][lang] unexpected NegativeArraySizeException for java.lang.String(int[], 2, Integer.MAX_VALUE)
> --------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-791
>          URL: http://issues.apache.org/jira/browse/HARMONY-791
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>     Assignee: Tim Ellison
>  Attachments: String.java.patch, String.patch, StringTest.patch
>
> The harmony method java.lang.String(int[], 2, Integer.MAX_VALUE) throws NegativeArraySizeException while spec requires IndexOutOfBoundsException. 
> ================== test.java =======================
> public class test  {
>     public static void main (String[] args) { 
>           new String(new int[] {}, 2, Integer.MAX_VALUE);                                                     
>     } 
> }
> ================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -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))
> java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483647
>         at java.lang.String.<init>([III)V(Unknown Source)
>         at test.main(test.java:3)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> Exception in thread "main" java.lang.NegativeArraySizeException
>         at java.lang.String.<init>(String.java:504)
>         at test.main(test.java:3)

-- 
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