[ODLPARENT-84] Upgrade Pax Exam to solve NoRouteToHostException on Fedora-based Linux due to PAXEXAM-740 Created: 06/Apr/17  Updated: 05/Sep/18  Resolved: 05/Sep/18

Status: Verified
Project: odlparent
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Michael Vorburger Assignee: Michael Vorburger
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File org.opendaylight.odlparent.featuretest.SingleFeatureTest-output.txt    
External issue ID: 8176

 Description   

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:

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..



 Comments   
Comment by Michael Vorburger [ 06/Apr/17 ]

Attachment org.opendaylight.odlparent.featuretest.SingleFeatureTest-output.txt has been added with description: SingleFeatureTest-output.txt

Comment by Michael Vorburger [ 07/Apr/17 ]

http://blog2.vorburger.ch/2017/04/java-local-rmi-using-jdks-inetaddress.html

Comment by Michael Vorburger [ 08/May/17 ]

I've completed the work req. for this upstream.

Next step: Someone else, or me, needs to release new Pax Exam upstream, and we upgrade.

Comment by Michael Vorburger [ 16/May/17 ]

https://git.opendaylight.org/gerrit/#/c/57149/ (draft, as of now)

Generated at Wed Feb 07 20:27:35 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.