mojira.dev
MCL-15612

Quotes in jvm arguments are passed to jvm

When quotes are in jvm arguments they aren't removed when passing to the jvm.

As an example, adding -javaagent:"C:/folder with space/agent.jar" to the jvm arguments will cause it to be passed to the jvm with the quotes (which is an issue given that that path should have quotes).  adding "-javaagent:C:/folder with space/agent.jar" results in the same issue (though with different error messages since java is no longer recognising it as a flag)

You can see some of this in laucnher_log.txt,  when run with jvm arguments of

-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -javaagent:"C:/path with space/agent.jar" "-javaagent:C:/path with space/agent.jar"

you can see this in launcher_log.txt

[Info: 2020-11-13 03:37:34.8632452: ClientStarter.cpp(818)] Java argument:-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
[Info: 2020-11-13 03:37:34.8632623: ClientStarter.cpp(818)] Java argument:-Dos.name=Windows 10
[Info: 2020-11-13 03:37:34.8632739: ClientStarter.cpp(818)] Java argument:-Dos.version=10.0
[Info: 2020-11-13 03:37:34.8632843: ClientStarter.cpp(818)] Java argument:-Xss1M
[Info: 2020-11-13 03:37:34.8633004: ClientStarter.cpp(818)] Java argument:-Djava.library.path=C:\Users\natedogith1\AppData\Roaming\.minecraft\bin\d70f-66f0-53f0-7494
[Info: 2020-11-13 03:37:34.8633141: ClientStarter.cpp(818)] Java argument:-Dminecraft.launcher.brand=minecraft-launcher
[Info: 2020-11-13 03:37:34.8633258: ClientStarter.cpp(818)] Java argument:-Dminecraft.launcher.version=2.1.17784
[Info: 2020-11-13 03:37:34.8633360: ClientStarter.cpp(818)] Java argument:-cp
[Info: 2020-11-13 03:37:34.8633508: ClientStarter.cpp(818)] Java argument:C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\patchy\1.1\patchy-1.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j\66.1\icu4j-66.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\javabridge\1.0.22\javabridge-1.0.22.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.1.25.Final\netty-all-4.1.25.Final.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\21.0\guava-21.0.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\brigadier\1.0.17\brigadier-1.0.17.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\datafixerupper\4.0.26\datafixerupper-4.0.26.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\2.0.27\authlib-2.0.27.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\it\unimi\dsi\fastutil\8.2.1\fastutil-8.2.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.8.1\log4j-api-2.8.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.8.1\log4j-core-2.8.1.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\3.2.2\lwjgl-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-jemalloc\3.2.2\lwjgl-jemalloc-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-openal\3.2.2\lwjgl-openal-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-opengl\3.2.2\lwjgl-opengl-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-glfw\3.2.2\lwjgl-glfw-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-stb\3.2.2\lwjgl-stb-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl-tinyfd\3.2.2\lwjgl-tinyfd-3.2.2.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\libraries\com\mojang\text2speech\1.11.3\text2speech-1.11.3.jar;C:\Users\natedogith1\AppData\Roaming\.minecraft\versions\1.16.4\1.16.4.jar
[Info: 2020-11-13 03:37:34.8633727: ClientStarter.cpp(818)] Java argument:-Xmx2G
[Info: 2020-11-13 03:37:34.8633840: ClientStarter.cpp(818)] Java argument:-XX:+UnlockExperimentalVMOptions
[Info: 2020-11-13 03:37:34.8633944: ClientStarter.cpp(818)] Java argument:-XX:+UseG1GC
[Info: 2020-11-13 03:37:34.8634041: ClientStarter.cpp(818)] Java argument:-XX:G1NewSizePercent=20
[Info: 2020-11-13 03:37:34.8634149: ClientStarter.cpp(818)] Java argument:-XX:G1ReservePercent=20
[Info: 2020-11-13 03:37:34.8634248: ClientStarter.cpp(818)] Java argument:-XX:MaxGCPauseMillis=50
[Info: 2020-11-13 03:37:34.8634349: ClientStarter.cpp(818)] Java argument:-XX:G1HeapRegionSize=32M
[Info: 2020-11-13 03:37:34.8634449: ClientStarter.cpp(818)] Java argument:-javaagent:"C:/path with space/agent.jar"
[Info: 2020-11-13 03:37:34.8634549: ClientStarter.cpp(818)] Java argument:"-javaagent:C:/path with space/agent.jar"

You can also see the error by the game failing to launch in these cases with one of these error messages

[Info: 2020-11-13 03:37:34.8896059: GameCallbacks.cpp(163)] Launcher/launcher (main) Info Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : "C:/path with space/agent.jar"
[Info: 2020-11-13 03:41:35.7937191: GameCallbacks.cpp(163)] Launcher/launcher (main) Info Error: Could not find or load main class "-javaagent:C:.path with space.agent.jar"

Comments 1

Thank you for your report!
However, this issue is Incomplete.

Your report does not contain enough information. As such, we're unable to understand or reproduce the problem.

You are welcome to create a new ticket about your issue with more detailed information. In case of a game crash, be sure to attach the crash report from [minecraft/crash-reports/crash-<DATE>-client.txt|https://minecrafthopper.net/help/finding-minecraft-data-folder/].
However, please review the Bug Tracker Guidelines before creating new reports. Be sure to search for an existing issue as it is likely to have already been reported.

Quick Links:
📓 Bug Tracker Guidelines – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

natedogith1

(Unassigned)

Unconfirmed

Retrieved