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/06 12:16:29 UTC

[jira] Created: (HARMONY-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

[classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
--------------------------------------------------------------------------------------------------

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

    Reporter: Vladimir Ivanov


The Harmony methods 
java.math.BigDecimal(new char[])
java.math.BigDecimal (char[] in ,int offset ,int len),
java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
java.math.BigDecimal (char[] in, MathContext mc)
throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
"Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."

=================== test.java =============================
import java.math.*;

public class test {
  public static void main(String args[] ) {
                try {
                        System.out.println("" + new BigDecimal(new char[] {}));
                } catch (NumberFormatException e) {
	                System.out.println("passed: " + e);
                } catch (Exception e) {
	                System.out.println("failed: " + e);
                }
                try {
                        System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
                } catch (NumberFormatException e) {
	                System.out.println("passed: " + e);
                } catch (Exception e) {
	                System.out.println("failed: " + e);
                }
                try {
                        System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
                } catch (NumberFormatException e) {
	                System.out.println("passed: " + e);
                } catch (Exception e) {
	                System.out.println("failed: " + e);
                }
                try {
                        System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
                } catch (NumberFormatException e) {
	                System.out.println("passed: " + e);
                } catch (Exception e) {
	                System.out.println("failed: " + e);
                }
        }
}
=======================================================

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

passed: java.lang.NumberFormatException
passed: java.lang.NumberFormatException
passed: java.lang.NumberFormatException
passed: java.lang.NumberFormatException

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.
failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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] Closed: (HARMONY-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Stepan Mishura closed HARMONY-783.
----------------------------------


Verified by Vladimir.

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Stepan Mishura resolved HARMONY-783.
------------------------------------

    Resolution: Fixed

Thanks Vladimir - the updated patch was applied to LUNI module at r425713.

Please check that the patch was applied as you expected.

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Stepan Mishura reassigned HARMONY-783:
--------------------------------------

    Assignee: Stepan Mishura

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Vladimir Ivanov updated HARMONY-783:
------------------------------------

    Attachment: BigDecimal.patch

patch

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-783
>          URL: http://issues.apache.org/jira/browse/HARMONY-783
>      Project: Harmony
>         Type: Bug

>     Reporter: Vladimir Ivanov
>  Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Vladimir Ivanov updated HARMONY-783:
------------------------------------

    Attachment: BigDecimalConstructorsTest.patch

unit tests

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-783
>          URL: http://issues.apache.org/jira/browse/HARMONY-783
>      Project: Harmony
>         Type: Bug

>     Reporter: Vladimir Ivanov
>  Attachments: BigDecimalConstructorsTest.patch
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

Stepan Mishura updated HARMONY-783:
-----------------------------------

    Component/s: Classlib

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

Posted by "Stepan Mishura (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-783?page=comments#action_12423626 ] 
            
Stepan Mishura commented on HARMONY-783:
----------------------------------------

Sorry, I meant that the patch was applied to MATH module not LUNI

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

-- 
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-783) [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})

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

verified, thanks

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for java.math.BigDecimal(new char[] {})
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-783
>                 URL: http://issues.apache.org/jira/browse/HARMONY-783
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: BigDecimal.patch, BigDecimalConstructorsTest.patch
>
>
> The Harmony methods 
> java.math.BigDecimal(new char[])
> java.math.BigDecimal (char[] in ,int offset ,int len),
> java.math.BigDecimal (char[] in, int offset, int len, MathContext mc),
> java.math.BigDecimal (char[] in, MathContext mc)
> throws unexpected ArrayIndexOutOfBoundsException for 0 length array while spec says:
> "Throws: NumberFormatException - if in is not a valid representation of a BigDecimal."
> =================== test.java =============================
> import java.math.*;
> public class test {
>   public static void main(String args[] ) {
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, 0, 0, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>                 try {
>                         System.out.println("" + new BigDecimal(new char[] {}, MathContext.DECIMAL32));
>                 } catch (NumberFormatException e) {
> 	                System.out.println("passed: " + e);
>                 } catch (Exception e) {
> 	                System.out.println("failed: " + e);
>                 }
>         }
> }
> =======================================================
> 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))
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> passed: java.lang.NumberFormatException
> 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.
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
> failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

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