JDK-6528083 : MM Rmi*BootstrapTest.sh tests fails due to GetVolumeInformation failures.
  • Type: Bug
  • Component: core-svc
  • Sub-Component: java.lang.management
  • Affected Version: 5.0,6u2,7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,windows
  • CPU: generic,x86
  • Submitted: 2007-02-23
  • Updated: 2012-10-01
  • Resolved: 2011-03-08
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.
6u4Fixed 7 b14Fixed
Following tests fails due to "GetVolumeInformation failed: The
directory is not a subdirectory of the root directory" on
Win-AMD64 Server VM (machine em64t-001) and Win32 Server VM.

Actual error msg is:

Test Failed: Failed to initialize connector:
        Error is: sun.management.AgentConfigurationError
processed file: C:\\temp\\Work\\exec\\vm-vm_6.0_server_comp_64BITWIN-AMD642007-02-21-19-25-52\\classes\\sun\\management\\jmxremote\\bootstrap\\jmxremote_test02_ok.access
GetVolumeInformation failed: The directory is not a subdirectory of the root directory

I suspect the problem is with the file seperators used in this test case.

SUGGESTED FIX Due to a problem in MKS "sed" doing slash to backslash conversion in some Windows machine, the fix is revised to do the slash to backslash conversion in the program (revokeall and RmiBootstrapTest) - see attached webrev-1.tar.

SUGGESTED FIX ------- GeneratePropertyPassword.sh ------- 52a53 > WIN_TESTCLASSES=`echo ${TESTCLASSES} | sed -e 's^/^\\\\^g'` 55c56 < s^@TEST-SRC@/^${TESTCLASSES}${DFILESEP}^g --- > s^@TEST-SRC@/^${WIN_TESTCLASSES}${DFILESEP}^g 86a88 > winf2="${WIN_TESTCLASSES}${DFILESEP}${suffix}" 98c100 < echo Y|$CACLS $f2 \/E \/G $USER:F --- > echo Y|$CACLS $winf2 \/E \/G $USER:F 100c102 < $REVOKEALL $f2 --- > $REVOKEALL $winf2 114a117 > winf2="${WIN_TESTCLASSES}${DFILESEP}${suffix}" 118c121 < $CACLS $f2 \/E \/G Everyone:F --- > $CACLS $winf2 \/E \/G Everyone:F

EVALUATION The tests failed due to updating the test harness jtreg to 3.2.2_02 which a pathname in a shell script is in the shell syntax/format and not converted to the Windows pathname with the correct file separator when passed to the revokeall.exe utility written in C. Need to fix the test (shell script) to do the conversion before passing to revokeall.