JDK-6754862 : jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
  • Type: Bug
  • Component: tools
  • Sub-Component: launcher
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-10-01
  • Updated: 2011-07-15
  • Resolved: 2011-07-15
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 7
7 b44Fixed
Related Reports
Relates :  
Description
% cat -n jdk/src/windows/bin/java_md.c

  [...]
    44  #define CRT_DLL "msvcr71.dll"
  [...]
   210      if (GetJREPath(crtpath, MAXPATHLEN)) {
   211          (void)JLI_StrCat(crtpath, "\\bin\\" CRT_DLL);   /* Add crt dll */
   212          JLI_TraceLauncher("CRT path is %s\n", crtpath);
   213          if (_access(crtpath, 0) == 0) {
   214              if (LoadLibrary(crtpath) == 0) {
   215                  ReportErrorMessage(DLL_ERROR4, crtpath);
   216                  return JNI_FALSE;
   217              }
   218          }
   219      }



This needs to be modified to look for the correct msvcr??.dll based on
the version of Visual Studio doing the product build.

VS2003=msvcr71.dll
VS2005=msvcr80.dll
VS2008=msvcr90.dll

Reference: jdk/make/common/Defs-windows.gmk

Attempts to load a mismatched msvcr??.dll will fail and result in a 'R6034'
pop-up window (see attached screen grab wrong_RTL_popup.jpg).

Comments
EVALUATION The msvcr??.dll loaded at runtime must match the VS compiler used at build time.
01-10-2008