]
Bela Ban commented on WFLY-5892:
--------------------------------
What fix do you suggest? Is there a corresponding JIRA in JGRP?
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?