Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8303427

Fixpath confused if unix root contains "/jdk"

    XMLWordPrintable

Details

    • b14
    • generic
    • windows

    Description

      ADDITIONAL SYSTEM INFORMATION :
      Windows 10
      Cygwin build environment

      A DESCRIPTION OF THE PROBLEM :
      I'm working on a patch for JDK-8302659. I tried to run an individual test directory like so:

      make test TEST="jdk/java/net/SocketOption"

      Which resulted in this error:

      Error: Unexpected exception occurred! java.nio.file.InvalidPathException: Illegal char <:> at index 5: testD:\cygwin\cygwin64\jdk\java\net\SocketOption
      java.nio.file.InvalidPathException: Illegal char <:> at index 5: testD:\cygwin\cygwin64\jdk\java\net\SocketOption
      at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
      at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
      at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
      at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
      at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
      at java.base/java.nio.file.Path.of(Path.java:147)
      at com.sun.javatest.regtest.config.TestManager$TestSpec.of(TestManager.java:201)
      at com.sun.javatest.regtest.tool.Tool$83.process(Tool.java:1014)
      at com.sun.javatest.regtest.tool.OptionDecoder.decodeArgs(OptionDecoder.java:84)
      at com.sun.javatest.regtest.tool.Tool.run(Tool.java:1072)
      at com.sun.javatest.regtest.tool.Tool.main(Tool.java:147)
      at com.sun.javatest.regtest.Main.main(Main.java:46)

      I found jtreg.cmdline in the test-support directory. It looks like this:

      ( /jdk/jdk/build/windows-x86_64-server-release/fixpath exec /cygdrive/c/progra~1/ecee71~1/jdk-19~1.7-h/bin/java.exe -Xms64M -Xmx1600M -Duser.language=en -Duser.country=US -XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=/jdk/jdk/build/windows-x86_64-server-release/configure-support/classes.jsa -Xshare:auto -Xmx768m -Dprogram=jtreg -jar /jdk/jtreg/lib/jtreg.jar -vmoption:-Xmx768m -agentvm -verbose:fail,error,summary -retain:fail,error -concurrency:4 -timeoutFactor:4 -vmoption:-XX:MaxRAMPercentage=6.25 -vmoption:-Dtest.boot.jdk="/cygdrive/c/progra~1/ecee71~1/jdk-19~1.7-h" -vmoption:-Djava.io.tmpdir="/jdk/jdk/build/windows-x86_64-server-release/test-support/jtreg_test_jdk_java_net_SocketOption/tmp" -automatic -ignore:quiet -e:JIB_DATA_DIR -e:_NT_SYMBOL_PATH -ea -esa -nativepath:/jdk/jdk/build/windows-x86_64-server-release/images/test/jdk/jtreg/native -exclude:/jdk/jdk/test/jdk/ProblemList.txt -e:TEST_IMAGE_DIR=/jdk/jdk/build/windows-x86_64-server-release/images/test -testjdk:/jdk/jdk/build/windows-x86_64-server-release/images/jdk -dir:/jdk/jdk -reportDir:/jdk/jdk/build/windows-x86_64-server-release/test-results/jtreg_test_jdk_java_net_SocketOption -workDir:/jdk/jdk/build/windows-x86_64-server-release/test-support/jtreg_test_jdk_java_net_SocketOption -report:files ${JTREG_STATUS} test/jdk/java/net/SocketOption && echo $? > /jdk/jdk/build/windows-x86_64-server-release/test-results/jtreg_test_jdk_java_net_SocketOption/exitcode.txt || echo $? > /jdk/jdk/build/windows-x86_64-server-release/test-results/jtreg_test_jdk_java_net_SocketOption/exitcode.txt )

      Note that the directory name is correct at that point. Replacing 'exec' with 'print' confirms that fixpath is mangling the test name incorrectly.

      The fixpath script that was generated by 'make configure' looks like this:

      #!/bin/bash
      export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Eclipse Adoptium/jdk-17.0.6.10-hotspot/bin:/cygdrive/c/Program Files (x86)/Intel/iCLS Client:/cygdrive/c/Program Files/Intel/iCLS Client:/cygdrive/c/Program Files/Broadcom/Broadcom 802.11 Network Adapter:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/WIDCOMM/Bluetooth Software:/cygdrive/c/Program Files/WIDCOMM/Bluetooth Software/syswow64:/cygdrive/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/cygdrive/c/Program Files/Intel/Intel(R) Management Engine Components/IPT:/cygdrive/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/cygdrive/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/IPT:/cygdrive/c/Program Files/Acer/Remote Files:/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/110/Tools/Binn:/cygdrive/c/Program Files (x86)/GNU/GnuPG/pub:/cygdrive/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/cygdrive/c/Program Files/Microsoft SQL Server/110/Tools/Binn:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/130/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/130/Tools/Binn:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/130/DTS/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/130/DTS/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/130/Tools/Binn:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/140/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/140/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/140/DTS/Binn:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Program Files/Azure Data Studio/bin:/cygdrive/c/Program Files (x86)/Pulse Secure/VC142.CRT/X64:/cygdrive/c/Program Files (x86)/Pulse Secure/VC142.CRT/X86:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files (x86)/Common Files/Pulse Secure/TNC Client Plugin:/cygdrive/c/Program Files/Docker/Docker/resources/bin:/cygdrive/c/ProgramData/DockerDesktop/version-bin:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/160/DTS/Binn:/cygdrive/c/Program Files/PowerShell/7:/cygdrive/c/Users//scoop/shims:/cygdrive/c/Users//AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users//AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Program Files/Azure Data Studio/bin"
      . /jdk/jdk/make/scripts/fixpath.sh -e /usr/bin/cygpath -p /cygdrive -r D:\\cygwin\\cygwin64 -t /tmp -c /cygdrive/c/Windows/system32/cmd.exe -q "$@"



      FREQUENCY : always


      Attachments

        Issue Links

          Activity

            People

              erikj Erik Joelsson
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: