PaperMC / Paperclip

Bootstrap utility and launcher for the Paper Minecraft server
MIT License
120 stars 51 forks source link

Paper fails to load if cache folder is a symlink #18

Closed bundabrg closed 5 years ago

bundabrg commented 5 years ago

What behaviour is expected:

Paper checks if cache folder exists and is a directory or a symlink to a directory.

What behaviour is observed:

Paper fails if the cache folder is a symlink

Steps/models to reproduce:

Create a common cache folder and create a symlink to it called 'cache'. Run paper. It will fail with:

$ java -jar server.jar 
Downloading vanilla jar...
Failed to setup cache directory
java.nio.file.FileAlreadyExistsException: cache
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:88)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
        at java.nio.file.Files.createDirectory(Files.java:674)
        at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
        at java.nio.file.Files.createDirectories(Files.java:727)
        at io.papermc.paperclip.Paperclip.setupEnv(Paperclip.java:100)
        at io.papermc.paperclip.Paperclip.main(Paperclip.java:45)

Plugin list:

n/a

Paper build number:

paper-186

Anything else:

Was working so its a fairly recent regression.

I use a shared cache folder as I run many micro-services that can take advantage of shared cache.

zachbr commented 5 years ago

Moved issue to the correct repo.