A DESCRIPTION OF THE REQUEST :
In Linux and BSD at least, the invisible forwarding of connections between IP6 and IP4 space can be disabled. In at least 1 BSD, this is disabled by default for security reasons.
When this feature is disabled, the JRE loses its networking ability and there is no sign to the user of why.
In Linux, the feature can be disabled by the kernel setting
net.ipv6.bindv6only = 1
. This can be done by the sysctl utility as in
sysctl net.ipv6.bindv6only=1
. and disabled by
sysctl net.ipv6.bindv6only=0
.
JUSTIFICATION :
Make apparent to the user why JRE networking is not functioning.
Increase security.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
There are at least 3 ways to address this.
The most desirable is to use IP4 or IP6 networking as appropriate for the network connection to be established.
The second is to give a more helpful error message to the user upon error. This may require more program logic.
The third option is to ship a description of the problem in installation or troubleshooting documentation.
ACTUAL -
An error message which does not bring the user close to being able to discover the cause.
In the case of runnig the appletviewer, it provides:
I/O exception while reading: Network is unreachable
Otherwise one often receives an exception message and stack trace.
---------- BEGIN SOURCE ----------
sysctl net.ipv6.bindv6only=1
appletviewer http://www.javatester.org/version.html
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
sysctl net.ipv6.bindv6only=0