读书人

AIX下运行Jetty碰到A system call rec

发布时间: 2012-11-04 10:42:42 作者: rapoo

AIX上运行Jetty碰到A system call received a parameter that is not valid

Jetty在window上、linux上运行都没有问题,在AIX上运行碰到如下异常:

?

java.net.SocketException: A system call received a parameter that is not valid.        at sun.nio.ch.Net.localInetAddress(Native Method)        at sun.nio.ch.Net.localAddress(Net.java:185)        at sun.nio.ch.SocketChannelImpl.localAddress(SocketChannelImpl.java:421)        at sun.nio.ch.SocketAdaptor.getLocalAddress(SocketAdaptor.java:179)        at java.net.Socket.getLocalSocketAddress(Socket.java:719)        at org.eclipse.jetty.io.nio.ChannelEndPoint.<init>(ChannelEndPoint.java:68)        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.<init>(SelectChannelEndPoint.java:59)        at org.eclipse.jetty.server.nio.SelectChannelConnector.newEndPoint(SelectChannelConnector.java:306)        at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newEndPoint(SelectChannelConnector.java:399)        at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.createEndPoint(SelectorManager.java:812)        at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:425)        at org.eclipse.jetty.io.nio.SelectorManager.doSelect(SelectorManager.java:225)        at org.eclipse.jetty.server.nio.SelectChannelConnector$1.run(SelectChannelConnector.java:268)        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)        at java.lang.Thread.run(Thread.java:803)

?

网上查找类似问题:

http://www-01.ibm.com/support/docview.wss?uid=swg1PK42970

应该是IBM JDK的一个bug,只能升级JDK版本了

下载地址:http://www.ibm.com/developerworks/java/jdk/aix/service.html

安装过程:http://fxyc.iteye.com/blog/751084

?

APAR status    *      Closed as program error.Error description    *      Error Message: java.net.SocketException: A system call received      a parameter that is not valid.      Stack Trace: java.lang.Error: java.net.SocketException: A system      call received a parameter that is not valid.       at sun.nio.ch.Net.localAddress(Net.java(Inlined Compiled Code))       at      sun.nio.ch.SocketChannelImpl.localAddress(SocketChannelImpl.java      (Compiled Code))       at      sun.nio.ch.SocketAdaptor.getLocalAddress(SocketAdaptor.java:178)       at java.net.Socket.getLocalSocketAddress(Socket.java:660)       at      com.ibm.ws.tcp.channel.impl.NBAcceptChannelSelector.performReque      st(NBAcceptChannelSelector.java:271)       at      com.ibm.ws.tcp.channel.impl.ChannelSelector.run(ChannelSelector.      java:233)       at java.lang.Thread.run(Thread.java:570)      .Local fix    *Problem summary    *      getLocalSocketAddress, getLocalPort returns invalid argument.Problem conclusion    *      This defect will be fixed in:      1.4.2 SR9      .      As per java API doc getLocalSocketAddress() and getLocalPort()      should not throw any exception. If socket is not bound,      getLocalPort returns -1 and null for getLocalSocketAddress.      .      To obtain the fix:      Install build 20070613 or later
?

?

?

?

?

?

?

1 楼 paul_lmc 2011-06-03 http://www-01.ibm.com/support/docview.wss?uid=swg1PK42970

读书人网 >系统运维

热点推荐