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/12 05:31:29 UTC

[jira] Created: (HARMONY-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

[classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
----------------------------------------------------------------------------------------------

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

  Components: Classlib  
    Reporter: Vladimir Ivanov


According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.

=============== test.java =========================
import java.io.*;

public class test  { 
    public static void main (String[] args) {   
       try {
           System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
       } catch (Exception e) {
           e.printStackTrace();
       }        
    }
}
=============================================

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

res = -1

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.
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.Throwable.<init>(Throwable.java:61)
        at java.lang.System.arraycopy(System.java:358)
        at java.lang.System.arraycopy(System.java:190)
        at java.io.CharArrayReader.read(CharArrayReader.java:187)
        at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
        at java.io.BufferedReader.read(BufferedReader.java:205)
        at test.main(test.java:6)



-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

Vladimir Ivanov updated HARMONY-841:
------------------------------------

    Attachment: CharArrayReader.patch

patch

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>          Key: HARMONY-841
>          URL: http://issues.apache.org/jira/browse/HARMONY-841
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: BufferedReaderTest.patch, CharArrayReader.patch
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

Paulex Yang reassigned HARMONY-841:
-----------------------------------

    Assignee: Paulex Yang

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-841
>                 URL: http://issues.apache.org/jira/browse/HARMONY-841
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Paulex Yang
>         Attachments: BufferedReaderTest.patch, CharArrayReader.patch
>
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

Paulex Yang resolved HARMONY-841.
---------------------------------

    Resolution: Fixed

Vladimir, patch applied at revision r424926, thanks a lot for this enhancement, please verify that the problem is fully fixed as you expected.

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-841
>                 URL: http://issues.apache.org/jira/browse/HARMONY-841
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Paulex Yang
>         Attachments: BufferedReaderTest.patch, CharArrayReader.patch
>
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

Vladimir Ivanov updated HARMONY-841:
------------------------------------

    Attachment: BufferedReaderTest.patch

unit test

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>          Key: HARMONY-841
>          URL: http://issues.apache.org/jira/browse/HARMONY-841
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: BufferedReaderTest.patch
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

Paulex Yang closed HARMONY-841.
-------------------------------


Verified by Vladimir.

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-841
>                 URL: http://issues.apache.org/jira/browse/HARMONY-841
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Paulex Yang
>         Attachments: BufferedReaderTest.patch, CharArrayReader.patch
>
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

-- 
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-841) [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException

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

verified, thanks 

> [classlib][io] java.io.BufferedReader.read() throws unspesified ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-841
>                 URL: http://issues.apache.org/jira/browse/HARMONY-841
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Paulex Yang
>         Attachments: BufferedReaderTest.patch, CharArrayReader.patch
>
>
> According to specification java.io. BufferedReader.read() returns "the character read, or -1 if the end of the stream has been reached".
> The test listed below shows that RI returns -1 while Harmony throws unexpected ArrayIndexOutOfBoundsException.
> =============== test.java =========================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {   
>        try {
>            System.out.println("res = " + new BufferedReader(new CharArrayReader(new char[5], 1, 0), 2).read());
>        } catch (Exception e) {
>            e.printStackTrace();
>        }        
>     }
> }
> =============================================
> 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))
> res = -1
> 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.
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java:61)
>         at java.lang.System.arraycopy(System.java:358)
>         at java.lang.System.arraycopy(System.java:190)
>         at java.io.CharArrayReader.read(CharArrayReader.java:187)
>         at java.io.BufferedReader.fillbuf(BufferedReader.java:108)
>         at java.io.BufferedReader.read(BufferedReader.java:205)
>         at test.main(test.java:6)

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