[
https://jira.jboss.org/jira/browse/JGRP-976?page=com.atlassian.jira.plugi...
]
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@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@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