[
https://issues.apache.org/jira/browse/DIRMINA-379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rob Eden updated DIRMINA-379:
-----------------------------
Attachment: MultiConnectTest.java
This is a unit test that demonstrates the problem very frequently on my system
(Windows 7 Enterprise, SP1/JDK 1.6.0_26).
The unit test is for my RMI-like framework called Intrepid, so you'll need the
binaries for that (https://sourceforge.net/projects/intrepid2/files/release/)
The unit test also hits other exceptions, but you should hit this error pretty
frequently. With the 1.0.4 release (using MINA 2.0.3), I'm hitting it about
half the time.
My arguments to run the test (will vary slightly based on where you place
things, obviously): java -cp out\test\Int
repid;dist\intrepid-1.0.4.jar;lib\mina-core-2.0.3.jar;lib\trove-3.0.0.jar;lib\test\junit-4
.8.1.jar;lib\starlight-common-250.jar;lib\slf4j-api-1.6.1.jar
junit.textui.TestRunner com.
starlight.intrepid.MultiConnectTest
> setKeepAlive/setTcpNoDelay and exceptions in Windows Vista
> ----------------------------------------------------------
>
> Key: DIRMINA-379
> URL: https://issues.apache.org/jira/browse/DIRMINA-379
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.0.3, 1.1.0, 2.0.0-M1
> Environment: Windows Vista Home Premium Italian
> Java SE 1.5.0_11, Java SE 1.6 Update 1, Java SE 1.4.2_12
> Reporter: Stefano Bagnara
> Attachments: MultiConnectTest.java
>
>
> When I ran my application under Vista I get this exception:
> Exception in thread "Thread-4" org.apache.mina.common.RuntimeIOException:
> java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption
> at
> org.apache.mina.transport.socket.nio.SocketSessionImpl$SessionConfigImpl.setKeepAlive(SocketSessionImpl.java:252)
> at
> org.apache.mina.transport.socket.nio.SocketSessionImpl.<init>(SocketSessionImpl.java:94)
> at
> org.apache.mina.transport.socket.nio.SocketConnector.newSession(SocketConnector.java:350)
> at
> org.apache.mina.transport.socket.nio.SocketConnector.processSessions(SocketConnector.java:290)
> at
> org.apache.mina.transport.socket.nio.SocketConnector.access$900(SocketConnector.java:53)
> at
> org.apache.mina.transport.socket.nio.SocketConnector$Worker.run(SocketConnector.java:395)
> at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.net.SocketException: Invalid argument:
> sun.nio.ch.Net.setIntOption
> at sun.nio.ch.Net.setIntOption0(Native Method)
> at sun.nio.ch.Net.setIntOption(Net.java:152)
> at sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
> at sun.nio.ch.SocketOptsImpl.setBoolean(SocketOptsImpl.java:38)
> at sun.nio.ch.SocketOptsImpl.keepAlive(SocketOptsImpl.java:92)
> at sun.nio.ch.OptionAdaptor.setKeepAlive(OptionAdaptor.java:139)
> at sun.nio.ch.SocketAdaptor.setKeepAlive(SocketAdaptor.java:322)
> at
> org.apache.mina.transport.socket.nio.SocketSessionImpl$SessionConfigImpl.setKeepAlive(SocketSessionImpl.java:248)
> ... 7 more
> I had to remove the following lines from the SocketSessionImpl constructor:
> this.config.setKeepAlive( cfg.isKeepAlive() );
> this.config.setTcpNoDelay( cfg.isTcpNoDelay() );
> and now it works.
> No matter if I change the configuration to let them return true or false, I
> keep getting the exception if I don't remove the call at all.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira