- 
    Bug 
- 
    Resolution: Not an Issue
- 
     P4 P4
- 
    8u74
- 
        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.
            
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.
- relates to
- 
                    JDK-8152043 (fs) Remove dynamic loopup of Win32 API functions in WindowsNativeDispatcher needed to support Windows XP and Server 2003 -           
- Closed
 
-         
- 
                    JDK-8046686 (fs) Files.CreateSymbolicLink failed with InternalError "Should not get here" (win) -           
- Closed
 
-