[
https://jira.jboss.org/jira/browse/JGRP-976?page=com.atlassian.jira.plugi...
]
Bela Ban commented on JGRP-976:
-------------------------------
Ok, so the issue is this (described in [1] at the bottom):
A ServerSocket can bind to a scoped or unscoped IPv6 link-local address.
A client socket can *not* connect to a scoped link-local IPv6 address ! E.g.
sock.connect(InetAddress.getByName("ADDR%3", port)
fails, whereas
sock.connect(InetAddress.getByName("ADDR", port)
succeeds.
The solution adopted in JGroups was to remove the scope of a link-local IPv6 address in
Socket.connect(), there's a utility method in Util which does this.
[1]
http://www.jboss.org/community/docs/DOC-10014
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