Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game crashes on startup when path contains spaces #463

Open
Artiesy opened this issue Dec 28, 2024 · 1 comment
Open

Game crashes on startup when path contains spaces #463

Artiesy opened this issue Dec 28, 2024 · 1 comment
Labels
bug something isn't working

Comments

@Artiesy
Copy link

Artiesy commented Dec 28, 2024

Happens with Minecraft versions from 1.14.4 up to 1.16.5
Loader version tested and approved crash since version: 0.20.0 and later (version 0.19.5 works perfectly)
System: Windows 11

How to represent: with any launcher create instance with spaces or just be a user with name that has spaces, loader will crash on transforming .jar file.

Crash report with an example from GDLauncher:

---- Crashed! ----
Date/Time: 2024/12/28 18:07:56.8500
Quilt Loader Version: 0.23.0

-- Crash --

java.lang.RuntimeException: Failed to load class file for 'net.minecraft.client.main.Main'!
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.getPreMixinClassByteArray(KnotClassDelegate.java:492)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:447)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:241)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.loadClassOnly(KnotClassDelegate.java:161)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:147)
	at org.quiltmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:239)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:549)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:84)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
Caused by: java.io.FileNotFoundException: C:\Users\Artem\AppData\Roaming\gdlauncher_carbon\data\instances\quilt%201.16.5\instance\.cache\quilt_loader\transform-cache-client\transformed-mod-minecraft-v1.16.5.jar (System cannot find the path specified)
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:236)
	at java.util.zip.ZipFile.<init>(ZipFile.java:162)
	at java.util.jar.JarFile.<init>(JarFile.java:171)
	at java.util.jar.JarFile.<init>(JarFile.java:108)
	at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93)
	at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
	at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:94)
	at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
	at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:152)
	at java.net.URL.openStream(URL.java:1093)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.getRawClassByteArray(KnotClassDelegate.java:511)
	at org.quiltmc.loader.impl.launch.knot.KnotClassDelegate.getPreMixinClassByteArray(KnotClassDelegate.java:490)
	... 9 more


-- Mods --

| Index | Mod                      | ID           | Version | Type    | File Hash (SHA-1)                        | File(s)                                                                                                            | Sub-File                                    |
|------:|--------------------------|--------------|---------|---------|------------------------------------------|--------------------------------------------------------------------------------------------------------------------|---------------------------------------------|
|     1 | Minecraft                | minecraft    | 1.16.5  | Builtin | 70bb3719d1edc0000dac72e09ed4f441432c493d | <game>\.cache\quilt_loader\remappedJars\minecraft-1.16.5-0.23.0\client-intermediary.jar                            | /                                           |
|       |                          |              |         |         | 70bb3719d1edc0000dac72e09ed4f441432c493d | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\com\mojang\javabridge\1.0.22\javabridge-1.0.22.jar         | /                                           |
|       |                          |              |         |         | 70bb3719d1edc0000dac72e09ed4f441432c493d | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\com\mojang\datafixerupper\4.0.26\datafixerupper-4.0.26.jar | /                                           |
|       |                          |              |         |         | 70bb3719d1edc0000dac72e09ed4f441432c493d | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\com\mojang\authlib\2.1.28\authlib-2.1.28.jar               | /                                           |
|       |                          |              |         |         |                                          | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\com\mojang\brigadier\1.0.17\brigadier-1.0.17.jar           | /                                           |
|     3 | MixinExtras              | mixinextras  | 0.3.2   | Fabric  | 87c072efe4c4d4ffdd38085c12fa21d7f469b20d | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\org\quiltmc\quilt-loader\0.23.0\quilt-loader-0.23.0.jar    | /META-INF/jars/mixinextras-fabric-0.3.2.jar |
|     0 | OpenJDK 64-Bit Server VM | java         | 8       | Builtin |                                          | <user>\AppData\Roaming\gdlauncher_carbon\data\managed_javas\zulu8.82.0.21-ca-jre8.0.432-win_x64                    |                                             |
|     2 | Quilt Loader             | quilt_loader | 0.23.0  | Quilt   | 87c072efe4c4d4ffdd38085c12fa21d7f469b20d | <user>\AppData\Roaming\gdlauncher_carbon\data\libraries\org\quiltmc\quilt-loader\0.23.0\quilt-loader-0.23.0.jar    |                                             |
|------:|--------------------------|--------------|---------|---------|------------------------------------------|--------------------------------------------------------------------------------------------------------------------|---------------------------------------------|
Mod Table Version: 2
Plugin Types: {quilted_fabric_loader=[Fabric], quilt_loader=[Quilt, Builtin]}


---- end of report ----

The folder itself controlled by current working directory of spawining process. So any launcher pass cwd string with 'Quilt 1.16.5', but loader handles spaces as %20, so it changes to .../Quilt%201.16.5/.... I think this is top level bug, because many launchers won't work out of the box (at least not changing instance name to one without namespaces, or changing username) with that problem.

@ix0rai ix0rai added the bug something isn't working label Dec 28, 2024
AlexIIL added a commit that referenced this issue Dec 28, 2024
…rectly works around Java 8's URL handling not working correctly for jar paths. (#463)
@AlexIIL
Copy link
Contributor

AlexIIL commented Dec 28, 2024

Thanks for the bug report! This should now be fixed in quilt-loader 0.28.0-beta.4, can you retry?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants