Mojira Archive
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"

Incomplete

natedogith1

2020-11-13, 05:42 AM

2022-04-07, 02:04 PM

2022-04-07, 02:04 PM

0

2

Unconfirmed

2.1.17784 (Windows)

-