]
Scott Marlow closed JGRP-252.
-----------------------------
Sun will fix for the jdk 1.5.0_08 release.
TCP_NIO support is impacted by a Sun Java bug during TCP_NIO shutdown
operation
-------------------------------------------------------------------------------
Key: JGRP-252
URL:
http://jira.jboss.com/jira/browse/JGRP-252
Project: JGroups
Issue Type: Sub-task
Affects Versions: 2.4
Environment: Novell Linux Desktop
Linux smarlow 2.6.5-7.243-default #1 Mon Dec 5 21:08:42 UTC 2005 i686 i686 i386
GNU/Linux
Reporter: Scott Marlow
Assigned To: Scott Marlow
Priority: Minor
Attachments: config.txt, sendernio.sh, tcp_nio.xml
During TCP_NIO, I used to ignore exceptions thrown while closing connections at shutdown
time. I changed this for the 2.4 release, however, there seems to be a Java bug that Sun
just fixed in Mustang build 89. I verified that the Sun fix works by downloading
jdk-6-rc-bin-b89-linux-i586-22_jun_2006.bin from
http://download.java.net/jdk6/binaries/
and running the org.jgroups.tests.perf.Test. I asked my support contact at Sun if they
could also fix this bug in the Java 5 release, I'll update this bug when I hear the
answer.
I created this Jira to track the issue since others will likely see the same problem.
When Sun reports back their plans for a Java5 fix, I'll update this Jira. The Sun bug
id is supposed to be 6445262 but I cannot seem to find that on the Java bug parade
(perhaps its marked private.)
Run the attached script files to recreate.
The stack trace below shows that the unexpected error occurs when we attempt to close the
channel (socket connection):
SEVERE: error closing socket connection
java.io.IOException: Invalid argument
at sun.nio.ch.NativeThread.signal(Native Method)
at
sun.nio.ch.SocketChannelImpl.implCloseSelectableChannel(SocketChannelImpl.java:634)
at
java.nio.channels.spi.AbstractSelectableChannel.implCloseChannel(AbstractSelectableChannel.java:201)
at
java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
at
org.jgroups.blocks.ConnectionTableNIO$Connection.closeSocket(ConnectionTableNIO.java:913)
at
org.jgroups.blocks.ConnectionTableNIO$Connection.destroy(ConnectionTableNIO.java:880)
at org.jgroups.blocks.ConnectionTableNIO.stop(ConnectionTableNIO.java:312)
at org.jgroups.protocols.TCP_NIO.stop(TCP_NIO.java:71)
at org.jgroups.stack.Protocol.handleSpecialDownEvent(Protocol.java:604)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:514)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.Discovery.down(Discovery.java:333)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:395)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.pbcast.NAKACK.down(NAKACK.java:480)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:283)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.VIEW_SYNC.down(VIEW_SYNC.java:166)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.pbcast.GMS.down(GMS.java:797)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:385)
at org.jgroups.stack.ProtocolStack.stopStack(ProtocolStack.java:324)
at org.jgroups.JChannel._close(JChannel.java:1286)
at org.jgroups.JChannel.shutdown(JChannel.java:492)
at
org.jgroups.tests.perf.transports.JGroupsTransport.stop(JGroupsTransport.java:59)
at org.jgroups.tests.perf.Test.stop(Test.java:208)
at org.jgroups.tests.perf.Test.main(Test.java:705)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: