MultiMC / Launcher

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once
https://multimc.org/
Other
4.3k stars 882 forks source link

Samba file share URLs are passed to Java as classpath entries #2950

Open r0zbot opened 4 years ago

r0zbot commented 4 years ago

System Information

MultiMC version: 0.6.7-develop-1404

Java: 1.8.0_231

Operating System: Windows 10 1809 x64

Summary of the issue or suggestion:

I am getting a ReadOnlyFileSystemException on a writeable filesystem when using Fabric, more specifically this modpack. I run my MultiMC from a samba network drive hosted on a "NAS" running debian testing.

I've also had problems in the past in forge 1.12 instances, where the files would download just fine, but upon launching the instance it would give me an "can't extract jar" error. I managed to solve that one by downgrading my samba instalation to 4.9.5, since it started occurring after a system upgrade. But now, running that same samba 4.9.5 I can't launch Fabric 1.15.1 instances, even though pretty much everything else I've tested works just fine (vanilla 1.15.1, forge 1.12.2).

I also made sure that the permissions are right on that folder (I am the owner both on the smb share and on the local linux disk, but I did also run a chmod 777 -R . for good measure). No problems writing to it from windows in general whatsoever.

What should happen:

It should be able to write files in a writeable filesystem.

Steps to reproduce the issue (Add more if needed):

  1. Extract MultiMC to a samba share

  2. Import instance from this modpack

  3. Launch the instance

Suspected cause:

I spent hours looking into it, but I still have no clue at this point. I run pretty much everything from this network share (games, programs, backups, other minecraft launchers like ATlauncher, etc....) and the only thing that has problems with it is MultiMC.

Logs/Screenshots:

https://paste.ee/p/nmVpP

Additional Info:

There are no antiviruses involved. Even windows defender is disabled.

Running as admin just changes the error:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.IllegalArgumentException: URI has an authority component
    at java.io.File.<init>(Unknown Source)
    at net.fabricmc.loader.util.UrlUtil.asFile(UrlUtil.java:54)
    at net.fabricmc.loader.util.UrlUtil.asPath(UrlUtil.java:63)
    at net.fabricmc.loader.game.GameProviderHelper.getSource(GameProviderHelper.java:49)
    at net.fabricmc.loader.game.GameProviderHelper.findFirstClass(GameProviderHelper.java:93)
    at net.fabricmc.loader.game.MinecraftGameProvider.locateGame(MinecraftGameProvider.java:140)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:82)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

https://paste.ee/p/hAXeP

spannerman79 commented 4 years ago

Also - on OpenJDK bug tracker https://bugs.openjdk.java.net/browse/JDK-8222195