You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Paulex Yang (JIRA)" <ji...@apache.org> on 2006/07/20 14:50:15 UTC

[jira] Resolved: (HARMONY-932) [classlib][nio]java.nio.?hannel.DatagramChannel.read(ByteBuffer[] , int, Integer.MAX_VALUE) throws NotYetConnectedException while RI throws IndexOutOfBoundsException

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

Paulex Yang resolved HARMONY-932.
---------------------------------

    Resolution: Fixed

Vladimir, patch applied at revision r423918 with minor changes(add another tests for null buffer array and negative index), thanks a lot for this enhancement, please verify that the problem is fully fixed as you expected. Also, it will be perfect if you can change the absolute paths to relative ones in the patch file:).

> [classlib][nio]java.nio.?hannel.DatagramChannel.read(ByteBuffer[] , int, Integer.MAX_VALUE) throws NotYetConnectedException while RI throws IndexOutOfBoundsException
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-932
>                 URL: http://issues.apache.org/jira/browse/HARMONY-932
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Paulex Yang
>         Attachments: DatagramChannelImpl.patch
>
>
> The Harmony methods java.nio.?hannel.DatagramChannel.read/write(ByteBuffer[] , int, Integer.MAX_VALUE) throws NotYetConnectedException while RI throws IndexOutOfBoundsException.
> ==================== test.java ======================
> import java.nio.channels.*;
> import java.nio.*;
> public class test  { 
>     public static void main (String[] args) { 
>         try {                      
>             DatagramChannel.open().read(new ByteBuffer[] {}, 2, Integer.MAX_VALUE);                                                                                                                                       
>         } catch (Exception e) {
>             e.printStackTrace();                  
>         }                                                              
>         try {                      
>             DatagramChannel.open().write(new ByteBuffer[] {}, 2, Integer.MAX_VALUE);                                                                                                                                       
>         } catch (Exception e) {
>             e.printStackTrace();                  
>         }                                                              
>     }
> }
> =================================================
> Output:
> C:\tmp\tmp17>C:\jdk1.5.0_06\bin\java.exe -cp . -showversion test
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IndexOutOfBoundsException
>         at sun.nio.ch.DatagramChannelImpl.read(DatagramChannelImpl.java:366)
>         at test.main(test.java:8)
> java.lang.IndexOutOfBoundsException
>         at sun.nio.ch.DatagramChannelImpl.write(DatagramChannelImpl.java:429)
>         at test.main(test.java:13)
> 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))
> OutOfMemoryError
> -------end of stacktrace
> 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.nio.channels.NotYetConnectedException
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.checkOpenConnected(DatagramChannelImpl.java:567)
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.read(DatagramChannelImpl.java:387)
>         at test.main(test.java:8)
> java.nio.channels.NotYetConnectedException
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.checkOpenConnected(DatagramChannelImpl.java:567)
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.write(DatagramChannelImpl.java:477)
>         at test.main(test.java:13)
> C:\tmp\tmp17>C:\harmony\drlvm\trunk\build\win_ia32_msvc_debug\deploy\jre\bin\ij -Dvm.assert_dialog=false -cp . -showversion test
> Apache Harmony DRLVM HEAD-4807 (2006-05-02), Windows/ia32/msvc 1310, debug
> java.nio.channels.NotYetConnectedException
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.checkOpenConnected(DatagramChannelImpl.java:567)
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.read(DatagramChannelImpl.java:387)
>         at test.main(test.java:8)
> java.nio.channels.NotYetConnectedException
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.checkOpenConnected(DatagramChannelImpl.java:567)
>         at org.apache.harmony.nio.internal.DatagramChannelImpl.write(DatagramChannelImpl.java:477)
>         at test.main(test.java:13)

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