You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Andrew Zhang (JIRA)" <ji...@apache.org> on 2006/07/03 11:51:29 UTC
[jira] Created: (HARMONY-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
[classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
------------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-728
URL: http://issues.apache.org/jira/browse/HARMONY-728
Project: Harmony
Type: Bug
Components: Classlib
Reporter: Andrew Zhang
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
Following test case reproduces the bug:
public void test_read_$ByteBufferII_Blocking() throws IOException {
final int CAPACITY_NORMAL = 200;
SocketChannel sc = SocketChannel.open();
ServerSocket server = new ServerSocket(50000);
byte[] data = new byte[CAPACITY_NORMAL];
for (int i = 0; i < CAPACITY_NORMAL; i++) {
data[i] = (byte) i;
}
ByteBuffer[] bufferArray = new ByteBuffer[2];
bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
Socket socket = server.accept();
OutputStream out = socket.getOutputStream();
out.write(data);
// Harmony fails to return here.
sc.read(bufferArray);
}
RI returns while Harmony hangs.
--
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-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
Posted by "Andrew Zhang (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-728?page=comments#action_12419114 ]
Andrew Zhang commented on HARMONY-728:
--------------------------------------
Hello Tim,
The fix looks good, many thanks!
Best regards,
Andrew
> [classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-728
> URL: http://issues.apache.org/jira/browse/HARMONY-728
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Andrew Zhang
> Assignee: Tim Ellison
> Attachments: nio.diff
>
> java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> Following test case reproduces the bug:
> public void test_read_$ByteBufferII_Blocking() throws IOException {
> final int CAPACITY_NORMAL = 200;
> SocketChannel sc = SocketChannel.open();
> ServerSocket server = new ServerSocket(50000);
> byte[] data = new byte[CAPACITY_NORMAL];
> for (int i = 0; i < CAPACITY_NORMAL; i++) {
> data[i] = (byte) i;
> }
> ByteBuffer[] bufferArray = new ByteBuffer[2];
> bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
> bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
> sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
> Socket socket = server.accept();
> OutputStream out = socket.getOutputStream();
> out.write(data);
> // Harmony fails to return here.
> sc.read(bufferArray);
> }
> RI returns while Harmony hangs.
--
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-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
Posted by "Andrew Zhang (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-728?page=all ]
Andrew Zhang updated HARMONY-728:
---------------------------------
Attachment: nio.diff
Hello,
Would you please try my patch?
The patch also removes an unnecessary AsynchronousCloseException check in SocketChannelImpl.java.
Thanks a lot!
Best regards,
Andrew
> [classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-728
> URL: http://issues.apache.org/jira/browse/HARMONY-728
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Andrew Zhang
> Attachments: nio.diff
>
> java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> Following test case reproduces the bug:
> public void test_read_$ByteBufferII_Blocking() throws IOException {
> final int CAPACITY_NORMAL = 200;
> SocketChannel sc = SocketChannel.open();
> ServerSocket server = new ServerSocket(50000);
> byte[] data = new byte[CAPACITY_NORMAL];
> for (int i = 0; i < CAPACITY_NORMAL; i++) {
> data[i] = (byte) i;
> }
> ByteBuffer[] bufferArray = new ByteBuffer[2];
> bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
> bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
> sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
> Socket socket = server.accept();
> OutputStream out = socket.getOutputStream();
> out.write(data);
> // Harmony fails to return here.
> sc.read(bufferArray);
> }
> RI returns while Harmony hangs.
--
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-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-728?page=all ]
Tim Ellison closed HARMONY-728:
-------------------------------
Verified by Andrew.
> [classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-728
> URL: http://issues.apache.org/jira/browse/HARMONY-728
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Andrew Zhang
> Assignee: Tim Ellison
> Attachments: nio.diff
>
> java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> Following test case reproduces the bug:
> public void test_read_$ByteBufferII_Blocking() throws IOException {
> final int CAPACITY_NORMAL = 200;
> SocketChannel sc = SocketChannel.open();
> ServerSocket server = new ServerSocket(50000);
> byte[] data = new byte[CAPACITY_NORMAL];
> for (int i = 0; i < CAPACITY_NORMAL; i++) {
> data[i] = (byte) i;
> }
> ByteBuffer[] bufferArray = new ByteBuffer[2];
> bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
> bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
> sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
> Socket socket = server.accept();
> OutputStream out = socket.getOutputStream();
> out.write(data);
> // Harmony fails to return here.
> sc.read(bufferArray);
> }
> RI returns while Harmony hangs.
--
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-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-728?page=all ]
Tim Ellison reassigned HARMONY-728:
-----------------------------------
Assign To: Tim Ellison
> [classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-728
> URL: http://issues.apache.org/jira/browse/HARMONY-728
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Andrew Zhang
> Assignee: Tim Ellison
> Attachments: nio.diff
>
> java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> Following test case reproduces the bug:
> public void test_read_$ByteBufferII_Blocking() throws IOException {
> final int CAPACITY_NORMAL = 200;
> SocketChannel sc = SocketChannel.open();
> ServerSocket server = new ServerSocket(50000);
> byte[] data = new byte[CAPACITY_NORMAL];
> for (int i = 0; i < CAPACITY_NORMAL; i++) {
> data[i] = (byte) i;
> }
> ByteBuffer[] bufferArray = new ByteBuffer[2];
> bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
> bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
> sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
> Socket socket = server.accept();
> OutputStream out = socket.getOutputStream();
> out.write(data);
> // Harmony fails to return here.
> sc.read(bufferArray);
> }
> RI returns while Harmony hangs.
--
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-728) [classlib][nio]
java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return
even there are some data available.
Posted by "Tim Ellison (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-728?page=all ]
Tim Ellison resolved HARMONY-728:
---------------------------------
Resolution: Fixed
Thanks Andrew,
Patch applied to NIO module at repo revision r418784.
Please check that the patch was applied as you expected.
> [classlib][nio] java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-728
> URL: http://issues.apache.org/jira/browse/HARMONY-728
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Andrew Zhang
> Assignee: Tim Ellison
> Attachments: nio.diff
>
> java.nio.channels.SocketChannel.read(ByteBuffer[],int,int) fails to return even there are some data available.
> Following test case reproduces the bug:
> public void test_read_$ByteBufferII_Blocking() throws IOException {
> final int CAPACITY_NORMAL = 200;
> SocketChannel sc = SocketChannel.open();
> ServerSocket server = new ServerSocket(50000);
> byte[] data = new byte[CAPACITY_NORMAL];
> for (int i = 0; i < CAPACITY_NORMAL; i++) {
> data[i] = (byte) i;
> }
> ByteBuffer[] bufferArray = new ByteBuffer[2];
> bufferArray[0] = ByteBuffer.allocate(CAPACITY_NORMAL);
> bufferArray[1] = ByteBuffer.allocate(CAPACITY_NORMAL);
> sc.connect(new InetSocketAddress(InetAddress.getLocalHost(),50000));
> Socket socket = server.accept();
> OutputStream out = socket.getOutputStream();
> out.write(data);
> // Harmony fails to return here.
> sc.read(bufferArray);
> }
> RI returns while Harmony hangs.
--
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