[
https://issues.jboss.org/browse/WFLY-5892?page=com.atlassian.jira.plugin....
]
Brian Stansberry commented on WFLY-5892:
----------------------------------------
FWIW, here's a bit of argument that this is a VM bug that I did on a similar issue,
WFCORE-934. In that case it was just affecting a test case so we were willing to hack the
test to not execute the problem test if the relevant NetworkInterface is virtual and thus
made the problem go away. But production code is a different beast. My comment on the
other issue:
"
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
https://docs.oracle.com/javase/8/docs/api/java/net/Inet6Address.html#scoped 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:
http://brontes.lab.eng.brq.redhat.com/project.html?projectId=WildFlyCore&...
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.
"
The test change is here:
https://github.com/wildfly/wildfly-core/pull/1415/files
JGroups throws UnknownHostException on processing IPv6 zone interface
id with a subinterface
--------------------------------------------------------------------------------------------
Key: WFLY-5892
URL:
https://issues.jboss.org/browse/WFLY-5892
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 10.0.0.CR5
Environment: Solaris 11 Sparc JDK8, IPv6
Reporter: Michal Karm Babacek
Assignee: Bela Ban
Priority: Critical
Attachments: tcp.xml
JGroups pick up IPv6 zone id index and it fails at translating it into an interface
name:
h3. Address
* address used {{2620:52:0:105f:0:0:ffff:188%net0:2}}
* {{Caused by: java.net.UnknownHostException: no such interface net0:2}}
h3. Configuration
{code}
<interfaces>
<interface name="management">
<inet-address value="2620:52:0:105f::ffff:188"/>
</interface>
<interface name="public">
<inet-address value="2620:52:0:105f::ffff:188"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets"
default-interface="public"
port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http" interface="management"
port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management"
port="${jboss.management.https.port:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="jgroups-mping" port="0"
multicast-address="ff02::12" multicast-port="45700"/>
<socket-binding name="jgroups-tcp" port="7600"/>
<socket-binding name="jgroups-tcp-fd" port="57600"/>
<socket-binding name="jgroups-udp" port="55200"
multicast-address="ff02::12" multicast-port="45688"/>
<socket-binding name="jgroups-udp-fd" port="54200"/>
<socket-binding name="modcluster" port="0"
multicast-address="ff02::a" multicast-port="32983"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
{code}
h3. Exception
{code}
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start
service jboss.jgroups.channel.ee: org.jboss.msc.service.StartException in service
jboss.jgroups.channel.ee: java.security.PrivilegedActionException: java.lang.Exception:
Property assignment of bind_addr in UDP with original property value
2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be assigned
at
org.wildfly.clustering.jgroups.spi.service.ChannelBuilder.start(ChannelBuilder.java:80)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: java.lang.Exception: Property
assignment of bind_addr in UDP with original property value
2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be assigned
at
org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:640)
at
org.jboss.as.clustering.jgroups.JChannelFactory.createChannel(JChannelFactory.java:98)
at
org.wildfly.clustering.jgroups.spi.service.ChannelBuilder.start(ChannelBuilder.java:78)
... 5 more
Caused by: java.lang.Exception: Property assignment of bind_addr in UDP with original
property value 2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be
assigned
at org.jgroups.stack.Configurator.resolveAndAssignField(Configurator.java:1154)
at org.jgroups.stack.Configurator.createLayer(Configurator.java:445)
at org.jgroups.stack.Configurator.createProtocols(Configurator.java:398)
at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:90)
at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:57)
at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:477)
at org.jgroups.JChannel.init(JChannel.java:853)
at org.jgroups.JChannel.<init>(JChannel.java:159)
at org.jboss.as.clustering.jgroups.JChannelFactory$1.run(JChannelFactory.java:95)
at org.jboss.as.clustering.jgroups.JChannelFactory$1.run(JChannelFactory.java:92)
at
org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)
... 7 more
Caused by: java.lang.Exception: Conversion of bind_addr in UDP with original property
value 2620:52:0:105f:0:0:ffff:188%net0:2 failed
at org.jgroups.conf.PropertyHelper.getConvertedValue(PropertyHelper.java:84)
at org.jgroups.stack.Configurator.resolveAndAssignField(Configurator.java:1148)
... 17 more
Caused by: java.net.UnknownHostException: no such interface net0:2
at java.net.Inet6Address.initstr(Inet6Address.java:487)
at java.net.Inet6Address.<init>(Inet6Address.java:408)
at java.net.InetAddress.getAllByName(InetAddress.java:1181)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at java.net.InetAddress.getByName(InetAddress.java:1076)
at org.jgroups.conf.PropertyConverters$Default.convert(PropertyConverters.java:288)
at org.jgroups.conf.PropertyHelper.getConvertedValue(PropertyHelper.java:81)
... 18 more
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread)
WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "jgroups"),
("channel" => "ee")
]) - failure description: {"WFLYCTL0080: Failed services" =>
{"jboss.jgroups.channel.ee" => "org.jboss.msc.service.StartException in
service jboss.jgroups.channel.ee: java.security.PrivilegedActionException:
java.lang.Exception: Property assignment of bind_addr in UDP with original property value
2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be assigned
Caused by: java.security.PrivilegedActionException: java.lang.Exception: Property
assignment of bind_addr in UDP with original property value
2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be assigned
Caused by: java.lang.Exception: Property assignment of bind_addr in UDP with original
property value 2620:52:0:105f:0:0:ffff:188%net0:2 and converted to null could not be
assigned
Caused by: java.lang.Exception: Conversion of bind_addr in UDP with original property
value 2620:52:0:105f:0:0:ffff:188%net0:2 failed
Caused by: java.net.UnknownHostException: no such interface net0:2"}}
{code}
h3. Interfaces on the Solaris 11 box
See my undermentioned example:
{code}
[mbabacek@dev33 ~]$ groovy
https://gist.githubusercontent.com/Karm/ec21b42b59f8889f976f/raw/951f01c6...
Iface Display name: net4
Iface Name: net4
Iface Display name: net0
Iface Name: net0
Subiface Display name: net0:7
Subiface Name: net0:7
Subiface Display name: net0:6
Subiface Name: net0:6
Subiface Display name: net0:5
Subiface Name: net0:5
Subiface Display name: net0:4
Subiface Name: net0:4
Subiface Display name: net0:3
Subiface Name: net0:3
Subiface Display name: net0:2
Subiface Name: net0:2
Subiface Display name: net0:1
Subiface Name: net0:1
Iface Display name: lo0
Iface Name: lo0
{code}
WDYT? Why should JGroups even try to do that?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)