[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