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

(fs) toRealPath on a path with a junction fails with an "java.lang.InternalError: Should not get here"

XMLWordPrintable

    • x86
    • windows_10

      FULL PRODUCT VERSION :
      Tested on Java 8, 9 (various versions) and recent EA:

      Java(TM) SE Runtime Environment (build 9-ea+109-2016-03-09-181019.javare.4620.nc)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+109-2016-03-09-181019.javare.4620.nc, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      Windows 10, 64-bit.

      A DESCRIPTION OF THE PROBLEM :
      Internal error on toRealPath when path contains a junction.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      mkdir foo
      mklink /J bar foo
      java -cp . Test bar

      The Test.java code is:
      import java.io.*;
      import java.nio.file.*;

      public class Test {
        public static void main(String[] args) throws Exception {
          Path p = Paths.get(args[0]);
          System.out.println("p.toRealPath(): " + p.toRealPath());
        }
      }


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Should work.
      ACTUAL -
      Throws an exception:

      Exception in thread "main" java.lang.InternalError: Should not get here
              at sun.nio.fs.WindowsNativeDispatcher.GetFinalPathNameByHandle(Native Method)
              at sun.nio.fs.WindowsLinkSupport.getFinalPath(WindowsLinkSupport.java:77)
              at sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:242)
              at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:840)
              at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:44)
              at Test.main(Test.java:10)


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      Trivial:

      public class Test {
        public static void main(String[] args) throws Exception {
          Path p = Paths.get(args[0]);
          System.out.println("p.toRealPath(): " + p.toRealPath());
        }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      None known.

            bpb Brian Burkhalter
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: