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 15:42:30 UTC

[jira] Updated: (HARMONY-790) [classlib][math] unexpected ArrayIndexOutOfBoundsException for BigInteger.isProbablePrime(110)

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

Vladimir Ivanov updated HARMONY-790:
------------------------------------

    Attachment: BigIntegerTest.patch

unit test

> [classlib][math] unexpected ArrayIndexOutOfBoundsException for BigInteger.isProbablePrime(110)
> ----------------------------------------------------------------------------------------------
>
>          Key: HARMONY-790
>          URL: http://issues.apache.org/jira/browse/HARMONY-790
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: BigIntegerTest.patch
>
> The Harmony method java.math.BigInteger.isProbablePrime(110) throws ArrayIndexOutOfBoundsException while RI returns correct value.
> ================= test.java ======================
> import java.math.BigInteger;
> import java.util.Random;
> public class test {
>    public static void main(String args[] ) {
>            BigInteger bi = new BigInteger(9, 9, new Random());
>            try {
>                 bi.isProbablePrime(109);
>                 System.out.println("uncertainty = 109, passed");
>            } catch (ArrayIndexOutOfBoundsException e) {
>                 System.out.println("uncertainty = 109, failed: " + e);
> 	   }
>            try {
>                bi.isProbablePrime(110);
>                System.out.println("uncertainy = 110, passed");
>            } catch (ArrayIndexOutOfBoundsException e) {
>                System.out.println("uncertainty = 110, failed: " + e);
> 	       e.printStackTrace();
>            }
>            try {
>                bi.isProbablePrime(110);
>                System.out.println("uncertainy = 500, passed");
>            } catch (ArrayIndexOutOfBoundsException e) {
>                System.out.println("uncertainty = 500, 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))
> uncertainty = 109, passed
> uncertainy = 110, passed
> uncertainy = 500, passed
> 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.
> uncertainty = 109, passed
> uncertainty = 110, failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 54
> java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 54
>         at java.math.BigInteger.isProbablePrime(BigInteger.java:1739)
>         at test.main(test.java:14)
> uncertainty = 500, failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 54

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