-
Bug
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
8176
I'm hitting the problem shown in the attached log when running "mvn clean package" e.g. in infrautils/common/features/infrautils-features4 (with https://git.opendaylight.org/gerrit/#/c/53109/ locally built & installed):
java.rmi.ConnectIOException: Exception creating connection to: khany; nested exception is:
java.net.NoRouteToHostException: No route to host (Host unreachable)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631)[:1.8.0_121]
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)[:1.8.0_121]
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)[:1.8.0_121]
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)[:1.8.0_121]
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)[:1.8.0_121]
at org.ops4j.pax.exam.rbc.internal.Activator.bindRBC(Activator.java:145)[64:org.ops4j.pax.exam.rbc:4.10.0]
at org.ops4j.pax.exam.rbc.internal.Activator.access$600(Activator.java:47)[64:org.ops4j.pax.exam.rbc:4.10.0]
at org.ops4j.pax.exam.rbc.internal.Activator$2.call(Activator.java:121)[64:org.ops4j.pax.exam.rbc:4.10.0]
at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)[65:org.ops4j.pax.swissbox.core:1.8.2]
at org.ops4j.pax.exam.rbc.internal.Activator.register(Activator.java:105)[64:org.ops4j.pax.exam.rbc:4.10.0]
at org.ops4j.pax.exam.rbc.internal.Activator.access$000(Activator.java:47)[64:org.ops4j.pax.exam.rbc:4.10.0]
at org.ops4j.pax.exam.rbc.internal.Activator$1.run(Activator.java:85)[64:org.ops4j.pax.exam.rbc:4.10.0]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.net.NoRouteToHostException: No route to host (Host unreachable)
at java.net.PlainSocketImpl.socketConnect(Native Method)[:1.8.0_121]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)[:1.8.0_121]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)[:1.8.0_121]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)[:1.8.0_121]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)[:1.8.0_121]
at java.net.Socket.connect(Socket.java:589)[:1.8.0_121]
at java.net.Socket.connect(Socket.java:538)[:1.8.0_121]
at java.net.Socket.<init>(Socket.java:434)[:1.8.0_121]
at java.net.Socket.<init>(Socket.java:211)[:1.8.0_121]
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)[:1.8.0_121]
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)[:1.8.0_121]
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)[:1.8.0_121]
... 12 more
This appears to be related to the following similar findings by others:
- https://ops4j1.jira.com/browse/PAXEXAM-740
- http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4665037
- https://issues.apache.org/jira/browse/JCS-40
- https://docs.oracle.com/javase/8/docs/technotes/guides/rmi/faq.html
- http://stackoverflow.com/questions/6180383/rmi-registry-connecting-to-wrong-adress
It may occur on Fedora Linux more typically. It happens I think reproducibly when I work with my laptop plugged into Ethernet, and then take it off the docking and go on WiFi. Specifically this seems to be the root cause:
$ hostname
khany
$ ping khany
PING khany.home (192.168.1.114) 56(84) bytes of data.
From khany-1.home (192.168.1.124) icmp_seq=1 Destination Host Unreachable
From khany-1.home (192.168.1.124) icmp_seq=2 Destination Host Unreachable
$ ifconfig
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 50:7b:9d:fb:74:ca txqueuelen 1000 (Ethernet)
This USED TO BE 192.168.1.114 when it was plugged into Ethernet
wlp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.124 netmask 255.255.255.0 broadcast 192.168.1.255
This is the WiFi...
Not even a full cold system reboot seems to help in this case.. I can't run Pax Exam tests while on WiFi; have to plug back in! Not 100% why; may be because my home router remembers "khany.home" (*.home is the default DNS suffix that home router give my laptop via DHCP) wrong, and does not support laptop with WiFi & wired correctly..