
1.17: Error modifying Optifine-mapped.jar
aeakett opened this issue ยท 6 comments
When loading in 1.17, the following message is received in the main game window:
There was an error loading OptiFabric!
Failed to load Optifine, please report this!
Error modifying C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar
C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\
is empty, but while loading Optifine-mapped.jar
and Optifine.classes.gz
appear briefly before disappearing again.
Stack trace offered by error screen is as follows:
java.io.UncheckedIOException: Error modifying C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:80)
at me.modmuss50.optifabric.mod.OptifineSetup.generateClassCache(OptifineSetup.java:315)
at me.modmuss50.optifabric.mod.OptifineSetup.getRuntime(OptifineSetup.java:158)
at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:41)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.chocohead.mm.Plugin.getMixins(Plugin.java:340)
at org.spongepowered.asm.mixin.transformer.PluginHandle.getMixins(PluginHandle.java:128)
at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:667)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:542)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:439)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:466)
at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:45)
at net.fabricmc.loader.EntrypointStorage$NewEntry.create(EntrypointStorage.java:112)
at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:99)
at net.fabricmc.loader.EntrypointStorage.lambda$getEntrypointContainers$1(EntrypointStorage.java:184)
at net.fabricmc.loader.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:37)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36)
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:137)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
Caused by: org.apache.commons.io.FileExistsException: Destination 'C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar' already exists
at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2986)
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:78)
... 28 more
Likely relevant section from game output screen:
mixin
main
Error encountered during mixin config postInit step'mixins.mm.json': Failed to setup optifine
java.lang.RuntimeException: Failed to setup optifine
at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:54)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.chocohead.mm.Plugin.getMixins(Plugin.java:340)
at org.spongepowered.asm.mixin.transformer.PluginHandle.getMixins(PluginHandle.java:128)
at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:667)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:542)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:439)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:466)
at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:45)
at net.fabricmc.loader.EntrypointStorage$NewEntry.create(EntrypointStorage.java:112)
at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:99)
at net.fabricmc.loader.EntrypointStorage.lambda$getEntrypointContainers$1(EntrypointStorage.java:184)
at net.fabricmc.loader.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:37)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36)
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:137)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
Caused by: java.io.UncheckedIOException: Error modifying C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:80)
at me.modmuss50.optifabric.mod.OptifineSetup.generateClassCache(OptifineSetup.java:315)
at me.modmuss50.optifabric.mod.OptifineSetup.getRuntime(OptifineSetup.java:158)
at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:41)
... 25 more
Caused by: org.apache.commons.io.FileExistsException: Destination 'C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar' already exists
at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2986)
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:78)
... 28 more
Contents of /mods
folder:
fabric-api-0.34.10+1.17.jar
optifabric-1.11.1.jar
OptiFine_1.17_HD_U_G9_pre21_MOD.jar
Fabric loader version: 0.11.3
What Java version/distribution are you using? The file should be being automatically moved out of the way before the replacement is attempted to be moved so this is quite a strange crash
I've added in an extra check to v1.11.9 so hopefully this should be resolved for you
Same behaviour with 1.11.9:
java.io.UncheckedIOException: Error modifying C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:128)
at me.modmuss50.optifabric.util.ZipUtils.filterInPlace(ZipUtils.java:93)
at me.modmuss50.optifabric.mod.OptifineSetup.generateClassCache(OptifineSetup.java:343)
at me.modmuss50.optifabric.mod.OptifineSetup.getRuntime(OptifineSetup.java:184)
at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:41)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.chocohead.mm.Plugin.getMixins(Plugin.java:340)
at org.spongepowered.asm.mixin.transformer.PluginHandle.getMixins(PluginHandle.java:128)
at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:667)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:542)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:439)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:466)
at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:45)
at net.fabricmc.loader.EntrypointStorage$NewEntry.create(EntrypointStorage.java:112)
at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:99)
at net.fabricmc.loader.EntrypointStorage.lambda$getEntrypointContainers$1(EntrypointStorage.java:184)
at net.fabricmc.loader.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:37)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36)
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:137)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
Caused by: org.apache.commons.io.FileExistsException: Destination 'C:\Users\aeakett\AppData\Roaming\.minecraft1.17\.optifine\OptiFine_1.17_HD_U_G9_pre21\Optifine-mapped.jar' already exists
at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2986)
at me.modmuss50.optifabric.util.ZipUtils.transformInPlace(ZipUtils.java:126)
... 29 more
Very curious, what about with this?
Strike 2, but I think you should drop this.
I'm fairly certain this is either PEBKAC, or that there's something out of whack with my system...
When setting up MultiMC I'm getting the same error with a 1.16 instance and the exact same .JAR files I used with a stand-alone instance. It seems to me that my heat-addled brain is probably missing a step somewhere in the process, and I just don't have the resources to track my problem down right now.
Thanks for your efforts, and I'm sorry to have wasted your time.