IPv4 socket bind using IPv6 socket on openjdk6 breaks udp send
Bjoern A. Zeeb
bz at FreeBSD.org
Sat Jun 25 09:27:32 UTC 2011
On Jun 24, 2011, at 9:11 PM, Steven Hartland wrote:
Hi,
> We're trying to get our machines IPv6 enabled but in doing so this
> seems to break java apps using openjdk6 for UDP sends.
One of the clues I can give you is:
http://diario.behrens.de/2008/10/12/java_and_ipv6_on_bsd.html
it's old(er) and I have lately been tolded that openjdk has a problem.
> using truss we see the following:-
> socket(PF_INET6,SOCK_DGRAM,0) = 20 (0x14)
> setsockopt(0x14,0x29,0x1b,0x7ffffedf0318,0x4,0x0) = 0 (0x0)
> setsockopt(0x14,0xffff,0x20,0x7ffffedf031c,0x4,0x0) = 0 (0x0)
> bind(20,{ AF_INET6 [3800::10:0:0:0]:20736 },28) = 0 (0x0)
> ..
> recvfrom(20,0x7ffffeaeb580,1460,0x0,0x7ffffeaed580,0x7ffffeaed5ac) ERR#60 'Operation timed out'
> ..
> sendto(20,"\M^?\M^?\M^?\M^?I\aMultiplay :: "...,82,0x0,{ AF_INET6 [3800::10:0:0:0]:20736 },0x1c) ERR#22 'Invalid argument'
So how much is really between these ...? If you want, can you send
me a full output in private email?
Also which version of FreeBSD is this?
> sockstat shows it binding correctly
> root java 894 21 tcp4 85.236.109.212:25675 *:*
That's unfortunately unreleated.
> The following PR seems relevant but also seems to indicate it was
> fixed back in 2006
> http://www.freebsd.org/cgi/query-pr.cgi?pr=92620
This doesn't seen to be related to the above as 3800::10:0:0:0 is
not a v4-mapped-v6 address. Now there could be the problem really.
Do you know which address the code above was trying to talk with?
Also do you have a very simple test program I could try to run if
I compile openjdk6?
/bz
--
Bjoern A. Zeeb You have to have visions!
Stop bit received. Insert coin for new address family.
More information about the freebsd-net
mailing list