[jboss-jira] [JBoss JIRA] (WFLY-5892) JGroups throws UnknownHostException on processing IPv6 zone interface id with a subinterface

Bela Ban (JIRA) issues at jboss.org
Tue Dec 22 01:31:00 EST 2015


    [ https://issues.jboss.org/browse/WFLY-5892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143571#comment-13143571 ] 

Bela Ban commented on WFLY-5892:
--------------------------------

If you can reproduce this in JGroups, please create a JGroups issue.
I tried an IPv6 address with a zone-id, e.g.
{noformat}
[belasmac] /Users/bela/JGroups$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
	ether a8:20:66:11:d3:46 
	inet6 fe80::aa20:66ff:fe11:d346%en0 prefixlen 64 scopeid 0x4 
	inet6 2a02:120b:2c30:d170:aa20:66ff:fe11:d346 prefixlen 64 autoconf 
	inet6 2a02:120b:2c30:d170:38d0:6e8f:3dda:1503 prefixlen 64 deprecated autoconf temporary 
	inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
	inet6 2a02:120b:2c30:d170:7810:9dad:ad22:81e2 prefixlen 64 deprecated autoconf temporary 
	inet6 2a02:120b:2c30:d170:51d6:92a:5d68:3588 prefixlen 64 autoconf temporary 
	nd6 options=1<PERFORMNUD>
	media: autoselect (1000baseT <full-duplex,flow-control,energy-efficient-ethernet>)
	status: active
{noformat}

Config:
{noformat}
 <UDP bind_addr="fe80::aa20:66ff:fe11:d346%en0" ... />
{noformat}

This worked without problems:
{noformat}
[belasmac] /Users/bela/JGroups$ java org.jgroups.demos.Draw -props ~/fast.xml -name A
-------------------------------------------------------------------
GMS: address=A, cluster=draw, physical address=fe80:0:0:0:aa20:66ff:fe11:d346%4:49751
-------------------------------------------------------------------
** View=[A|0] (1) [A]
** View=[A|1] (2) [A, B]
{noformat}

> 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
>
> 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 at dev33 ~]$ groovy https://gist.githubusercontent.com/Karm/ec21b42b59f8889f976f/raw/951f01c61097bff2efa64a0f2e73a8881b062743/Interfaces.groovy
> 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)


More information about the jboss-jira mailing list