[jgroups-users] problem with v4.0.16 and IPv6

Questions/problems related to using JGroups <[email protected]> Wed, 24 Apr 2019 12:57:03 -0400
Newsgroups gmane.comp.java.javagroups.general
Message-ID <mailman.37202.1556126428.1518.javagroups-users@lists.sourceforge.net>
--===============6327428319949569451==
Content-Type: multipart/alternative; boundary="000000000000583d6d058749995d"

--000000000000583d6d058749995d
Content-Type: text/plain; charset="UTF-8"

Hi all,

We switched from jgroups v4.0.13 to v4.0.16 and now can't start our app
when using IPV6 addresses. The same code runs ok if I drop in the 4.0.13
jar instead (renamed to match classpath, etc.).

This is the exception on startup:

java.lang.IllegalArgumentException: found IPv6 address
/fda5:7338:32fc:7a0f:0:0:0:1 in an IPv4 stack
at org.jgroups.stack.Configurator.setDefaultValues(Configurator.java:132)
at org.jgroups.stack.ProtocolStack.init(ProtocolStack.java:829)
at org.jgroups.JChannel.<init>(JChannel.java:200)

Our channel definition is below. Can you tell me please if this a 4.0.16
bug, or was there a bug in 4.0.13 that allowed jgroups to work when maybe
it shouldn't have?

The Configurator#setDefaultValues(List<Protocol> protocols) method and
related code looks the same to me in both 4.0.13 and 4.0.16, so I don't
know how this is now failing. Any ideas?

Thanks,
Bobby

our stack code, slightly edited to replace internal methods with readable
description:

        List<Protocol> stack = new ArrayList<>();
        stack.add(new TCP()
            .setValue("bind_addr", InetAddress.getByName(<method to get
local address>))
            .setValue("bind_port", bindingPort)
            .setValue("thread_pool_min_threads", 1)
            .setValue("thread_pool_keep_alive_time", 5000)
            .setValue("send_buf_size", 640000)
            .setValue("sock_conn_timeout", 300)
            .setValue("recv_buf_size", 5000000));
        stack.add(new TCPPING()
            .setValue("initial_hosts", <method to get hosts>)
            .setValue("send_cache_on_join", true)
            .setValue("port_range", 0));
        stack.add(new MERGE3()
            .setValue("min_interval", 10000)
            .setValue("max_interval", 30000));
        stack.add(new FD_ALL()
            .setValue("timeout", <get timeout>));
        stack.add(new VERIFY_SUSPECT()
            .setValue("timeout", 1500));
        stack.add(new BARRIER());
        stack.add(new NAKACK2()
            .setValue("use_mcast_xmit", false));
        stack.add(new UNICAST3());
        stack.add(new STABLE()
            .setValue("desired_avg_gossip", 50000)
            .setValue("max_bytes", 4000000));
        stack.add(<create auth protocol object here>);
        stack.add(new GMS()
            .setValue("join_timeout", 3000));
        stack.add(new MFC()
            .setValue("max_credits", 2000000)
            .setValue("min_credits", 800000));
        stack.add(new FRAG2());
        stack.add(new STATE_TRANSFER());
        return new JChannel(stack);

--000000000000583d6d058749995d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div>Hi=
 all,</div><div><br></div><div>We switched from jgroups v4.0.13 to v4.0.16 =
and now can&#39;t start our app when using IPV6 addresses. The same code ru=
ns ok if I drop in the 4.0.13 jar instead (renamed to match classpath, etc.=
).</div><div><br></div><div>This is the exception on startup:</div><div><br=
></div><div>java.lang.IllegalArgumentException: found IPv6 address /fda5:73=
38:32fc:7a0f:0:0:0:1 in an IPv4 stack</div><div><span style=3D"white-space:=
pre">	</span>at org.jgroups.stack.Configurator.setDefaultValues(Configurato=
r.java:132)</div><div><span style=3D"white-space:pre">	</span>at org.jgroup=
s.stack.ProtocolStack.init(ProtocolStack.java:829)</div><div><span style=3D=
"white-space:pre">	</span>at org.jgroups.JChannel.&lt;init&gt;(JChannel.jav=
a:200)</div><div><br></div><div>Our channel definition is below. Can you te=
ll me please if this a 4.0.16 bug, or was there a bug in 4.0.13 that allowe=
d jgroups to work when maybe it shouldn&#39;t have?</div><div><br></div><di=
v>The Configurator#setDefaultValues(List&lt;Protocol&gt; protocols) method =
and related code looks the same to me in both 4.0.13 and 4.0.16, so I don&#=
39;t know how this is now failing. Any ideas?</div><div><br></div><div>Than=
ks,</div><div>Bobby</div><div><br></div><div>our stack code, slightly edite=
d to replace internal methods with readable description:</div><div><br></di=
v><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 List&lt;Protocol&gt; stack =3D new Array=
List&lt;&gt;();</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new TCP()</=
div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;bind_add=
r&quot;, InetAddress.getByName(&lt;method to get local address&gt;))</div><=
div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;bind_port&quo=
t;, bindingPort)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setVa=
lue(&quot;thread_pool_min_threads&quot;, 1)</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 .setValue(&quot;thread_pool_keep_alive_time&quot;, 500=
0)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;send=
_buf_size&quot;, 640000)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 .setValue(&quot;sock_conn_timeout&quot;, 300)</div><div>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;recv_buf_size&quot;, 5000000));=
</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new TCPPING()<br></div><di=
v>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;initial_hosts&q=
uot;, &lt;method to get hosts&gt;)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 .setValue(&quot;send_cache_on_join&quot;, true)</div><div>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;port_range&quot;, 0)=
);</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new MERGE3()<br></div><d=
iv>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;min_interval&q=
uot;, 10000)</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(=
&quot;max_interval&quot;, 30000));</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 st=
ack.add(new FD_ALL()</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .s=
etValue(&quot;timeout&quot;, &lt;get timeout&gt;));</div><div>=C2=A0 =C2=A0=
 =C2=A0 =C2=A0 stack.add(new VERIFY_SUSPECT()</div><div>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;timeout&quot;, 1500));</div><div>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new BARRIER());</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 stack.add(new NAKACK2()</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 .setValue(&quot;use_mcast_xmit&quot;, false));</div><d=
iv>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new UNICAST3());</div><div>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 stack.add(new STABLE()</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 .setValue(&quot;desired_avg_gossip&quot;, 50000)</div>=
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;max_bytes&qu=
ot;, 4000000));</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(&lt;create =
auth protocol object here&gt;);</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack=
.add(new GMS()<br></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 .set=
Value(&quot;join_timeout&quot;, 3000));</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 stack.add(new MFC()</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 .setValue(&quot;max_credits&quot;, 2000000)</div><div>=C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 .setValue(&quot;min_credits&quot;, 800000));</div><di=
v>=C2=A0 =C2=A0 =C2=A0 =C2=A0 stack.add(new FRAG2());</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 stack.add(new STATE_TRANSFER());</div><div>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 return new JChannel(stack);</div><div>=C2=A0</div></div></div=
></div></div>

--000000000000583d6d058749995d--


--===============6327428319949569451==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============6327428319949569451==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
javagroups-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javagroups-users

--===============6327428319949569451==--