]
Brian Stansberry commented on WFCORE-934:
-----------------------------------------
Looks like a JVM problem then.
InetAddress.getByName("fe80:0:0:0:8:20ff:fe6d:eab0%net0:2") is not behaving in
accordance with javadoc. It is throwing UnknownHostException when it should not. For a
literal IPv6 address string that represents a link-local or site-local it should only
check the validity of the address format. The format is valid, as described at
which is
linked in the InetAddress.getByName javadoc.
For an IPv6 literal address string with a scope_id appended, UnknownHostException should
only be thrown if the address isn't a site-local or link-local address.
This test passes in the community CI runs:
There have been failures in the past. I haven't examined them all, but it looks like
the failures were due to incorrectly testing global IPv6 addresses, which my patch fixed.
What's happening here is for an InetAddress 'address' obtained from inspecting
the addresses available on the system, InetAddress.getByName(address.getHostAddress()) is
throwing an UnknownHostException. That's clearly wrong.
IPv6ScopeIdMatchUnitTestCase fails on some machines
---------------------------------------------------
Key: WFCORE-934
URL:
https://issues.jboss.org/browse/WFCORE-934
Project: WildFly Core
Issue Type: Bug
Components: Test Suite
Affects Versions: 2.0.0.Beta4
Reporter: Marek Kopecký
Assignee: Brian Stansberry
*Description of problem:*
org.jboss.as.controller.interfaces.IPv6ScopeIdMatchUnitTestCase#testNonLoopback in
WildFly Core TS fails on Solaris11 SPARC.
*How reproducible:*
Always with this configuration on Solaris11 SPARC:
{noformat}
$ /usr/sbin/ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
net0: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500
index 2
inet 10.16.91.211 netmask fffff800 broadcast 10.16.95.255
net0:1: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu
1500 index 2
inet 10.16.179.24 netmask fffff800 broadcast 10.16.183.255
net0:2: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu
1500 index 2
inet 10.16.179.25 netmask fffff800 broadcast 10.16.183.255
net0:3: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu
1500 index 2
inet 10.16.179.26 netmask fffff800 broadcast 10.16.183.255
net0:4: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu
1500 index 2
inet 10.16.179.27 netmask fffff800 broadcast 10.16.183.255
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
net0: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 fe80::8:20ff:fe6d:eab1/10
net0:1: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 fe80::8:20ff:fe6d:eab2/10
net0:2: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 fe80::8:20ff:fe6d:eab0/10
net0:3: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 2620:52:0:105f::ffff:164/64
net0:4: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 2620:52:0:105f::ffff:165/64
net0:5: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 2620:52:0:105f::ffff:166/64
net0:6: flags=120002000841<UP,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 2
inet6 2620:52:0:105f::ffff:167/64
net0:7: flags=120002080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6,PHYSRUNNING> mtu 1500
index 2
inet6 2620:52:0:105f:8:20ff:fe6d:eab0/64
$
{noformat}
*Steps to Reproduce:*
# cd controller
# mvn test -fae -Dmaven.test.failure.ignore=true -DfailIfNoTests=false
-Dtest=IPv6ScopeIdMatchUnitTestCase
*Actual results:*
* StackTrace:
{noformat}
java.lang.AssertionError: expected:</fe80:0:0:0:8:20ff:fe6d:eab0%net0:2> but
was:<null>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
at
org.jboss.as.controller.interfaces.IPv6ScopeIdMatchUnitTestCase.testNonLoopback(IPv6ScopeIdMatchUnitTestCase.java:129)
{noformat}
* Test output:
{noformat}
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
fe80:0:0:0:8:20ff:fe6d:eab2%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
2620:52:0:105f:8:20ff:fe6d:eab0%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
fe80:0:0:0:8:20ff:fe6d:eab1%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
2620:52:0:105f:0:0:ffff:167%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
2620:52:0:105f:0:0:ffff:166%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
2620:52:0:105f:0:0:ffff:165%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
2620:52:0:105f:0:0:ffff:164%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
fe80:0:0:0:8:20ff:fe6d:eab0%bogus, so cannot match it to any InetAddress
WARN (main) [org.jboss.as.controller.management-operation]
<InetAddressMatchInterfaceCriteria.java:128> WFLYCTL0001: Cannot resolve address
fe80:0:0:0:8:20ff:fe6d:eab0%net0:2, so cannot match it to any InetAddress
{noformat}