[jboss-jira] [JBoss JIRA] Commented: (JGRP-976) JGroups testsuite failures with link-local IPv6 addresses
Bela Ban (JIRA)
jira-events at lists.jboss.org
Thu Nov 5 03:56:21 EST 2009
[ https://jira.jboss.org/jira/browse/JGRP-976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12493249#action_12493249 ]
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
More information about the jboss-jira
mailing list