-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
itype:bugstat:needs minimizationNeeds a self contained minimizationNeeds a self contained minimization
Milestone
Description
Compiler version
3.0.0 and 3.1.0
Minimized code
here and here (and I believe later is what occurs in this Ammonite issue) assumes JVM always throw NoSuchFileException when path is not exist, but that's not the case under linux if 1. path start with directory and 2. the directory name exists in filesystem as a file
the code assumed:
$ file test
test: cannot open `test' (No such file or directory)
scala> java.nio.file.Files.newInputStream(java.nio.file.Paths.get("test/test.scala"))
java.nio.file.NoSuchFileException: test/test.scala
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
at java.base/java.nio.file.Files.newInputStream(Files.java:160)
... 28 elided
or
$ mkdir test
$ ./scala
scala> java.nio.file.Files.newInputStream(java.nio.file.Paths.get("test/test.scala"))
java.nio.file.NoSuchFileException: test/test.scala
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
at java.base/java.nio.file.Files.newInputStream(Files.java:160)
... 28 elided
and the uncatched case:
$ rmdir test
$ touch test
scala> java.nio.file.Files.newInputStream(java.nio.file.Paths.get("test/test.scala"))
java.nio.file.FileSystemException: test/test.scala: Not a directory
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
at java.base/java.nio.file.Files.newInputStream(Files.java:160)
... 28 elided
Metadata
Metadata
Assignees
Labels
itype:bugstat:needs minimizationNeeds a self contained minimizationNeeds a self contained minimization