[infinispan-issues] [JBoss JIRA] (ISPN-8333) HotRod client test suite fails with java.net.BindException when run through IKVM
Martin Gencur (JIRA)
issues at jboss.org
Fri Sep 22 10:07:00 EDT 2017
[ https://issues.jboss.org/browse/ISPN-8333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Gencur updated ISPN-8333:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5455
> HotRod client test suite fails with java.net.BindException when run through IKVM
> --------------------------------------------------------------------------------
>
> Key: ISPN-8333
> URL: https://issues.jboss.org/browse/ISPN-8333
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Server
> Affects Versions: 9.1.1.Final
> Reporter: Martin Gencur
> Assignee: Martin Gencur
>
> The Java test suite being run through IKVM throws a BindException. The tests are run through IKVM in the .NET native client. Upgrading the ISPN dependency in the .NET client to 9.1.1 introduces this problem.
> The test suite is first trying to find a free port but this ends up with the following exception (when I print the stack trace), and it falls back to returning a predefined port 15232:
> {code}
> java.net.SocketException: socket closed
> 3: at ikvm.internal.JNI.JNU_ThrowByName(JNI.java:53)
> 3: at java.net.TwoStacksPlainSocketImpl_c.socketListen(TwoStacksPlainSocketImpl_c.java:586)
> 3: at java.net.TwoStacksPlainSocketImpl.socketListen(TwoStacksPlainSocketImpl.java:235)
> 3: at java.net.PlainSocketImpl.socketListen(PlainSocketImpl.java:329)
> 3: at java.net.AbstractPlainSocketImpl.listen(AbstractPlainSocketImpl.java:395)
> 3: at java.net.ServerSocket.bind(ServerSocket.java:377)
> 3: at java.net.ServerSocket.<init>(ServerSocket.java:237)
> 3: at java.net.ServerSocket.<init>(ServerSocket.java:129)
> 3: at org.infinispan.server.core.test.ServerTestingUtil.findFreePort(ServerTestingUtil.java:47)
> 3: at org.infinispan.server.core.test.ServerTestingUtil.startProtocolServer(ServerTestingUtil.java:73)
> 3: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:51)
> 3: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:47)
> 3: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:55)
> 3: at org.infinispan.client.hotrod.StringSerializerHotRodTest.createCacheManager(StringSerializerHotRodTest.java:74)
> 3: at org.infinispan.test.SingleCacheManagerTest.setup(SingleCacheManagerTest.java:31)
> 3: at org.infinispan.client.hotrod.StringSerializerHotRodTest.setUp(StringSerializerHotRodTest.java:139)
> 3: at java.lang.reflect.Method.invoke(Method.java:486)
> 3: at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:79)
> 3: at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
> 3: at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
> 3: at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
> 3: at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> 3: at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1228)
> 3: at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> 3: at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> 3: at org.testng.TestRunner.privateRun(TestRunner.java:766)
> {code}
> Subsequently the test suite is assigning the same port to multiple tests and it results in the following exception:
> {code}
> java.lang.AssertionError: java.net.BindException: Only one usage of each socket address (protocol/network address/port) is normally permitted
> 2: at org.infinispan.server.core.test.ServerTestingUtil.startProtocolServer(ServerTestingUtil.java:79)
> 2: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:51)
> 2: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:47)
> 2: at org.infinispan.client.hotrod.test.HotRodClientTestingUtil.startHotRodServer(HotRodClientTestingUtil.java:55)
> 2: at org.infinispan.client.hotrod.CrossLanguageHotRodTest.createCacheManager(CrossLanguageHotRodTest.java:124)
> 2: at org.infinispan.test.SingleCacheManagerTest.setup(SingleCacheManagerTest.java:31)
> 2: at org.infinispan.client.hotrod.CrossLanguageHotRodTest.setUp(CrossLanguageHotRodTest.java:186)
> 2: at org.infinispan.client.hotrod.CrossLanguageHotRodTest.main(CrossLanguageHotRodTest.java:642)
> 2: Caused by: java.net.BindException: Only one usage of each socket address (protocol/network address/port) is normally permitted
> 2: at java.net.SocketUtil.convertSocketExceptionToIOException(SocketUtil.java:58)
> 2: at IKVM.NativeCode.sun.nio.ch.Net.bind0(Unknown Source)
> 2: at sun.nio.ch.Net.bind(Net.java:438)
> 2: at sun.nio.ch.Net.bind(Net.java:430)
> 2: at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
> 2: at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:128)
> 2: at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:554)
> 2: at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1259)
> 2: at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501)
> 2: at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486)
> 2: at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:980)
> 2: at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:250)
> 2: at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:365)
> 2: at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
> 2: at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:405)
> 2: at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
> 2: at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:859)
> 2: at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
> 2: at java.lang.Thread.run(Thread.java:955)
> 2: ... Removed 20 stack frames
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the infinispan-issues
mailing list