harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Hindess" <mark.hind...@googlemail.com>
Subject [classlib] linux (and freebsd) socket test failures
Date Mon, 07 Jun 2010 09:48:19 GMT

I recently started seeing quite a lot of socket test failures on my
main Debian Linux machine.  It turns out that an upgrade of the netbase
package included a new file:


which sets the system configuration:

  net.ipv6.bindv6only = 1

which means that IPv6 bound sockets only accept IPv6 connections and not
IPv4 connections (w/address mapping).  The expectation is that daemons
wanting to accept both IPv6 and IPv4 connections bind twice.

Then I had a Eureka! moment and remembered that I had some FreeBSD
changes that I had not committed yet because I was still getting socket
test failures when I had fixed everything that I thought was broken....
and the pattern of failures was similar.  Changing the equivalent
"net.inet6.ip6.v6only=0" seems to have fixed most of the remaining
issues.  I'll tidy up these changes[0] and commit them shortly.

For the time being I've changed this back on my machine (by editing the
above file and replacing the 1 with 0).  However, I wonder if we should
be handling this in the classlib implementation.  If we don't then users
will experience a change in behaviour unless they change the system
default but changing the system default may have unintended consequences
for other applications.

I believe it is possible to set the IPV6_V6ONLY socket option to avoid
the change in behaviour but for the moment, it looks like the RI is not
doing this so I guess we shouldn't either?


[0] Mostly removing the many things that I tried that we not actually
    necessary ;-)

View raw message