In message <[email protected]>, Andrew John Hughes writes: > > On 7 June 2010 10:48, Mark Hindess <[email protected]> wrote: > > > > 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: > > > > /etc/sysctl.d/bindv6only.conf > > > > 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. > > > > [snip] > > > > 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? > > FYI, this problem has also been found with OpenJDK and patched (at > least, in the Debian package so far). > > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008866.html
Andrew: Thanks. (Sadly,) I avoid the openjdk community to avoid contamination but it is very helpful to know what decision they made. Much appreciated. I am not surprised. It does seem like the right thing to do (from a principle of least surprise point-of-view). Perhaps we should fix it and potentially deviate from the RI behaviour (until they fix it assuming they will). I wouldn't be surprised if the RI ended up with another java.net.prefer* option to allow the users the choice. Regards, Mark.
