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

Richard Achmatowicz (JIRA) issues at jboss.org
Wed Nov 16 12:11:00 EST 2016


     [ https://issues.jboss.org/browse/WFLY-5892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Achmatowicz updated WFLY-5892:
--------------------------------------
    Release Notes Text: This issue is caused by a regression in JDK 8 (see bug JDK-8168840), in which IPv6 addresses associated with virtual interfaces on Solaris 11 are not handled correctly. Such addresses were handled correctly in previous JDK versions. The issue can be avoided by either avoiding the use of virtual interfaces on Solaris 11, or by using an earlier version of the JDK which handles the addresses correctly.
               Affects: Release Notes


> 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: Richard Achmatowicz
>            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 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
(v7.2.3#72005)


More information about the jboss-jira mailing list