[jboss-jira] [JBoss JIRA] Commented: (JGRP-976) JGroups testsuite failures with link-local IPv6 addresses

Richard Achmatowicz (JIRA) jira-events at lists.jboss.org
Wed May 13 11:23:47 EDT 2009


    [ https://jira.jboss.org/jira/browse/JGRP-976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12467252#action_12467252 ] 

Richard Achmatowicz commented on JGRP-976:
------------------------------------------

The bug I reported to Sun seems to be related to this one:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096

The JVM decides which scope id to use for the link-local address based on looking at the routing table. If an incorrect route (to lo and not eth0) is specified, this gets picked up and used as the scoped id.
 
The routing table on RHEL 5 (jawa01.englab.brq.redhat.com) includes a most specifc route which routes to lo:

-bash-3.2$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:17:2D:67:55  
          inet addr:10.34.32.153  Bcast:10.34.35.255  Mask:255.255.252.0
          inet6 addr: 3ffe:ffff:100:f101::1/64 Scope:Global
          inet6 addr: fec0::f101:215:17ff:fe2d:6755/64 Scope:Site
          inet6 addr: fe80::215:17ff:fe2d:6755/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:662152465 errors:0 dropped:0 overruns:0 frame:0
          TX packets:280481512 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:451032770922 (420.0 GiB)  TX bytes:81942436544 (76.3 GiB)

-bash-3.2$ /sbin/route -A inet6
Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface
3ffe:ffff:100:f101::/64                     *                                       U     256    0        0 eth0    
fe80::/64                                   *                                       U     256    0        0 virbr0  
fe80::/64                                   *                                       U     256    0        0 xenbr0  
fe80::/64                                   *                                       U     256    0        0 vif0.0  
fe80::/64                                   *                                       U     256    0        0 peth0   
fe80::/64                                   *                                       U     256    0        0 eth0    
fe80::/64                                   *                                       U     256    0        0 eth2    
fe80::/64                                   *                                       U     256    0        0 eth1    
fec0:0:0:f101::/64                          *                                       UA    256    465084       0 xenbr0  
fec0:0:0:f101::/64                          *                                       UA    256    302002       0 eth0    
*/0                                         *                                       U     256    0        0 eth0    
localhost6.localdomain6/128                 *                                       U     0      3793       1 lo      
3ffe:ffff:100:f101::/128                    *                                       U     0      0        2 lo      
3ffe:ffff:100:f101::1/128                   *                                       U     0      90672       1 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::/128                                  *                                       U     0      0        2 lo      
fe80::215:17ff:fe2d:6755/128                *                                       U     0      5162       1 lo      
fe80::21a:a0ff:fe2c:3657/128                *                                       U     0      14       1 lo      
fe80::21a:a0ff:fe2c:3658/128                *                                       U     0      0        1 lo      
fec0:0:0:f101::/128                         *                                       U     0      0        2 lo      
fec0:0:0:f101::/128                         *                                       U     0      0        2 lo      
jawa01.englab.brq.redhat.com/128            *                                       U     0      39       1 lo      
ff02::1/128                                 *                                       U     0      90       1 lo      
ff02::1:ff00:1/128                          ff02::1:ff00:1                          UC    0      1        0 xenbr0  
ff02::1:ff00:1/128                          ff02::1:ff00:1                          UC    0      1        0 eth0    
ff00::/8                                    *                                       U     256    0        0 virbr0  
ff00::/8                                    *                                       U     256    0        0 xenbr0  
ff00::/8                                    *                                       U     256    0        0 vif0.0  
ff00::/8                                    *                                       U     256    0        0 peth0   
ff00::/8                                    *                                       U     256    0        0 eth2    
ff00::/8                                    *                                       U     256    0        0 eth1    
ff00::/8                                    *                                       U     256    0        0 eth0    

So, this would account for the bug turning up on RHEL.

On the other hand, my Fedora 8 host at home does not have such a route:

[nrla at localhost ~]$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:58:C8:81:A8  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::215:58ff:fec8:81a8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:671185 errors:0 dropped:0 overruns:0 frame:0
          TX packets:894851 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:552563003 (526.9 MiB)  TX bytes:508468523 (484.9 MiB)
          Memory:ee000000-ee020000 

[nrla at localhost ~]$ /sbin/route -A inet6
Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface
fe80::/64                                   *                                       U     256    0        0 eth0    
localhost6.localdomain6/128                 *                                       U     0      0        1 lo      
fe80::/128                                  *                                       U     0      0        1 lo      
lenovo6/128                                 *                                       U     0      0        1 lo      
ff00::/8                                    *                                       U     256    0        0 eth0    

So, I need to follow up with the RHEL/Fedora guys to see why this is occurring.

This same basic error manifests itself in two different error emssages, depending on whch form you use to connect to a socket (i.e, directly from the constructor, or after construction using connect)




> JGroups testsuite failures with link-local IPv6 addresses 
> ----------------------------------------------------------
>
>                 Key: JGRP-976
>                 URL: https://jira.jboss.org/jira/browse/JGRP-976
>             Project: JGroups
>          Issue Type: Bug
>         Environment: Sun JDK 1.6.0_13, Fedora 8, IPv6 link-local addresses
>            Reporter: Richard Achmatowicz
>            Assignee: Richard Achmatowicz
>            Priority: Minor
>             Fix For: 2.8
>
>         Attachments: BuggyServerSocketSender.java
>
>
> These failures is turning up when we run the JGroups 2.4.6.GA testsuite with scoped link-local addresses -  MergeTest / DisconnectTest and MultiplexerMergeTest are failing with this exception:
>     [junit] 4603 [DEBUG] NAKACK.handleMessage(): - fe80:0:0:0:215:58ff:fec8:81a8%eth0:35158: received fe80:0:0:0:215:58ff:fec8:81a8%eth0:35158#0
>     [junit] 4603 [DEBUG] NAKACK.handleMessage(): - fe80:0:0:0:215:58ff:fec8:81a8%eth0:35158: received fe80:0:0:0:215:58ff:fec8:81a8%eth0:35158#0
>     [junit] 4607 [DEBUG] RouterStub.reconnect(): - failed reconnecting
>     [junit] java.net.SocketException: Invalid argument or cannot assign requested address
>     [junit]     at java.net.PlainSocketImpl.socketConnect(Native Method)
>     [junit]     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>     [junit]     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>     [junit]     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>     [junit]     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>     [junit]     at java.net.Socket.connect(Socket.java:519)
>     [junit]     at java.net.Socket.connect(Socket.java:469)
>     [junit]     at java.net.Socket.<init>(Socket.java:366)
>     [junit]     at java.net.Socket.<init>(Socket.java:240)
>     [junit]     at org.jgroups.stack.RouterStub.connect(RouterStub.java:143)
>     [junit]     at org.jgroups.stack.RouterStub.reconnect(RouterStub.java:363)
>     [junit]     at org.jgroups.stack.RouterStub.reconnect(RouterStub.java:379)
>     [junit]     at org.jgroups.protocols.TUNNEL$Reconnector.run(TUNNEL.java:446)
> I believe this may be a Sun JDK bug. Commenst to follow will explain.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list