JDK-7010192 : InetAddress.isReachable hits ShouldNotReachHere with hs20-b04 (win)
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: hs20,7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,windows
  • CPU: generic
  • Submitted: 2011-01-04
  • Updated: 2012-10-01
  • Resolved: 2011-03-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u25Fixed 7 b126Fixed
Related Reports
Duplicate :  
Relates :  
Description
jdk7-b123 has hs20-b04. One of the changes in hs20-b04 is that HotSpot no longer delegates to the HPI (see 6348631). One implication of this change is that os::get_sock_opt is not implemented. This impacts InetAddress.isReachable because it uses JVM_GetSockOpt resulting in the following crash:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (os_windows.cpp:4751), pid=4092, tid=4748
#  Error: ShouldNotReachHere()
#
# JRE version: 7.0
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.0-b04 mixed mode windows-amd64 compressed oops)
# An error report file with more information is saved as:
# C:\temp\jprt\P2\T\164435.ab23780\source\build\windows-amd64\testoutput\jdk_net\JTwork\scratch\hs_err_pid4092.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Although the issue is limited to InetAddress.isReachable it causes problems for jtreg test runs in samevm mode as it brings down the VM. This needs to be fixed asap to allow JPRT run the networking tests.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/build/jdk/rev/6f2d19ef67b1
17-01-2011

EVALUATION os::get_sock_opt is not implemented on Windows. In any case, there is no reason to use JVM_GetSockOpt on Windows and replacing it with a call to getsockopt is probably the simplest solution.
04-01-2011