[Bug 193246] Bug in multicast bind(), uncovered by Jenkins
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Sep 2 10:08:03 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193246
--- Comment #2 from Craig Rodrigues <rodrigc at FreeBSD.org> ---
I did some more analysis and found that this code:
13253 java CALL bind(0x4,0x7fffffbfd7a8,0x1c)
13253 java STRU struct sockaddr { AF_INET6, [::]:33848 }
13253 java RET bind 0
13253 java CALL setsockopt(0x4,0x29,0x9,0x7fffffbfd7f4,0x4)
13253 java RET setsockopt 0
13253 java CALL getsockopt(0x4,0x29,0x9,0x7fffffbfd8ac,0x7fffffbfd864)
13253 java RET getsockopt 0
13253 java CALL setsockopt(0x4,0x29,0xc,0x7fffffbfd8c0,0x14)
13253 java RET setsockopt -1 errno 22 Invalid argument
is happening inside the mcast_join_leave() function inside the JDK here:
http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/9b8c96f96a0f/src/solaris/native/java/net/PlainDatagramSocketImpl.c
>From looking at the FreeBSD header files,
IPPROTO_IPV6 = 41 (0x29)
IPV6_MULTICAST_IF =
IPV6_JOIN_GROUP = 12 (0xc)_
inside the mcast_join_leave() function what is basically happening is:
setsockopt(0x4, IPPROTO_IPV6, IPV6_MULTICAST_IF, ...)
getsockopt(0x4, IPPROTO_IPV6, IPV6_MULTICAST_IF, ...)
setsockopt(0x4, IPPROTO_IPV6, IPV6_JOIN_GROUP, ...)
the second setsockopt() is returning EINVAL
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the freebsd-net
mailing list