mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Eden (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DIRMINA-379) setKeepAlive/setTcpNoDelay and exceptions in Windows Vista
Date Tue, 15 Nov 2011 23:33:51 GMT

     [ 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
.8.1.jar;lib\starlight-common-250.jar;lib\slf4j-api-1.6.1.jar junit.textui.TestRunner com.
> 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


View raw message