You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Trustin Lee (JIRA)" <ji...@apache.org> on 2008/05/14 03:11:55 UTC

[jira] Commented: (DIRMINA-379) setKeepAlive/setTcpNoDelay and exceptions in Windows Vista

    [ https://issues.apache.org/jira/browse/DIRMINA-379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596596#action_12596596 ] 

Trustin Lee commented on DIRMINA-379:
-------------------------------------

I met Alan Bateman, the NIO.2 lead, and he told me that there's no clean solution for this issue for now.  Probably we should close the connection when we fail to configure the socket in Windows?  NIO.2 will fix this issue though.

> 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
>
> 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.
-
You can reply to this email to add a comment to the issue online.