Solving issues yourself
Got a crash?
You can try to find the cause yourself.
Just press "Open Logs" button in error window or enable "Logger" in the launcher settings.
Following is a list of relatively simple to detect and common game launch issues.
All examples below are based on real support requests from our users.
Wrong Java version
Detected by java.lang.UnsupportedClassVersionError
in caused by
string.
> Exception in thread "main" java.util.ServiceConfigurationError: net.minecraftforge.forgespi.language.IModLanguageProvider: Unable to load thedarkcolour.kotlinforforge.KotlinLanguageProvider
> at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:586)
> Caused by: java.lang.UnsupportedClassVersionError: thedarkcolour/kotlinforforge/KotlinLanguageProvider has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
> at java.base/java.lang.ClassLoader.defineClass1(Native Method)
In this example, it is clear that the mod kotlinforforge
failed to load because it is being run on an outdated version of Java. The required Java version can be determined by the class file version
, using this website. In this example, the game was launched with Java 17 (61.0), but the mod requires Java 21 (65.0).
> Error: LinkageError occurred while loading main class net.minecraft.client.main.Main
> java.lang.UnsupportedClassVersionError: net/minecraft/client/main/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
This same error is typical when launching the game itself with an incompatible (too old) version of Java. This error can also be identified by the keyword UnsupportedClassVersionError
.
Older versions of the game use the so-called launchwrapper
, which does not work with Java 9 or newer. Such versions will crash with the following log when launched on newer Java versions:
> Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
> at net.minecraft.launchwrapper.Launch.<init>(Launch.java:33)
> at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
The solution is to run the game using Java 8 (often selecting the "recommended" Java version will help).
Java VM Crash
Sometimes it's not the game that crashes, but the Java Virtual Machine itself:
[:] #
[:] # A fatal error has been detected by the Java Runtime Environment:
[:] #
[:] # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff91b3cfdf8, pid=17192, tid=27840
[:] #
[:] # JRE version: OpenJDK Runtime Environment Microsoft-22300 (16.0.1+9) (build 16.0.1+9)
[:] # Java VM: OpenJDK 64-Bit Server VM Microsoft-22300 (16.0.1+9, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
[:] # Problematic frame:
[:] # V [jvm.dll+0x69fdf8]
[:] #
[:] # No core dump will be written. Minidumps are not enabled by default on client versions of Windows
[:] #
[:] # If you would like to submit a bug report, please visit:
[:] # https://github.com/microsoft/openjdk/issues
[:] #
In such logs, there are two key points: the error (in the example above, it's EXCEPTION_ACCESS_VIOLATION
) and the library where the error occurred (jvm.dll
).
Typical solutions involve tracking down which component the error is related to and removing it (if it's third-party software, such as SafeIP), or updating/rolling back (if it's Java or a graphics driver).
Unfortunately, these errors are often non-trivial to fix, and even we might not be able to help. Try Googling, or contact the support of the component's manufacturer (e.g., the graphics driver).
Never attempt to manually delete or replace the problematic dll file! You could make the problem worse or break your OS!
You can try to resolve this issue using this guide
GLFW Input Devices Issue
Some input devices, such as gamepads, joysticks and steering wheels may cause crashes.
> [14:49:52] [main/INFO] [STDERR/]: [org.lwjgl.glfw.GLFWErrorCallback$1:invoke:105]: Description : Invalid axis in gamepad mapping 03000000790000000600000000000000 (G-Shark GS-GP702)
> [14:49:52] [main/INFO] [STDERR/]: [org.lwjgl.glfw.GLFWErrorCallback$1:invoke:106]: Stacktrace :
> [14:49:52] [main/INFO] [STDERR/]: [org.lwjgl.glfw.GLFWErrorCallback$1:invoke:110]: org.lwjgl.glfw.GLFW.glfwInit(GLFW.java:830)
> [14:49:52] [main/INFO] [STDERR/]: [org.lwjgl.glfw.GLFWErrorCallback$1:invoke:110]: net.minecraftforge.fml.loading.progress.ClientVisualization.initWindow(ClientVisualization.java:58)
> [14:49:52] [main/INFO] [STDERR/]: [org.lwjgl.glfw.GLFWErrorCallback$1:invoke:110]: net.minecraftforge.fml.loading.progress.ClientVisualization.start(ClientVisualization.java:335)
"Invalid axis in gamepad mapping" may indicate there is a gamepad issue, disconnecting gamepads (joysticks, steerings wheels) will fix the issue.
OptiFine - incompatible Forge version
OptiFine is a rather finicky mod that requires specific Forge versions.
> [11:43:13] [main/ERROR] [cp.mo.mo.TransformationServiceDecorator/MODLAUNCHER]: Service failed to load OptiFine
> cpw.mods.modlauncher.api.IncompatibleEnvironmentException: Error loading OptiFine ZIP file: union:/C:/Users/Makc/AppData/Roaming/.tlauncher/legacy/Minecraft/game/mods/OptiFine_1.21.1_HD_U_J1.jar%23159!/
> at optifine.OptiFineTransformationService.onLoad(OptiFineTransformationService.java:122) ~[?:?] {}
> [11:43:13] [main/ERROR] [cp.mo.mo.TransformationServicesHandler/MODLAUNCHER]: Found 1 services that failed to load : [OptiFine]
> Exception in thread "main" cpw.mods.modlauncher.InvalidLauncherSetupException: Invalid Services found OptiFine
From the lines services that failed to load: [OptiFine]
and Invalid Services found OptiFine
, we can see that the current versions of OptiFine and Forge are incompatible.
OptiFine - incompatible Minecraft version
OptiFine is tightly bound to a specific game version. While many mods can survive minor updates (for example, mods for 1.19.1 may still work on 1.19.2), this doesn't apply to OptiFine. If OptiFine detects an incompatible game version, the following lines will appear in the log:
> [21:18:40] [main/INFO] [STDERR]: [optifine.OptiFineClassTransformer:getOptiFineResourcePatched:223]: optifine.xdelta.PatchException: truncated source file, aborting
> [21:18:40] [main/INFO] [STDERR]: [optifine.OptiFineClassTransformer:getOptiFineResourcePatched:223]: at optifine.xdelta.GDiffPatcher.copy(GDiffPatcher.java:181)
> [21:18:40] [main/INFO] [STDERR]: [optifine.OptiFineClassTransformer:getOptiFineResourcePatched:223]: at optifine.xdelta.GDiffPatcher.runPatch(GDiffPatcher.java:130)
> [21:18:40] [main/INFO] [STDERR]: [optifine.OptiFineClassTransformer:getOptiFineResourcePatched:223]: at optifine.xdelta.GDiffPatcher.<init>(GDiffPatcher.java:67)
> [21:18:40] [main/INFO] [STDERR]: [optifine.OptiFineClassTransformer:getOptiFineResourcePatched:223]: at optifine.xdelta.GDiffPatcher.<init>(GDiffPatcher.java:63)
The key line here is optifine.xdelta.PatchException. If you see this in the log, check the OptiFine version.
Forge - mod error
There should be a crash at the end of the log. It looks like a series of lines starting with at
:
> Exception in thread "main" [00:23:02] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1069]: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1069]: at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:39)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1078]: ... 4 more
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: ... 10 more
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:682]: Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector redirectGetFancyWeather()Z in magnesium.mixins.json:features.options.MixinWorldRenderer failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap magnesium.refmap.json
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:682]: at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:682]: at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1362)
> [00:23:02] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:682]: ... 25 more
Look at the line starting with Caused by
: we can see that the problem is with the magnesium
mod: Critical injection failure: Redirector redirectGetFancyWeather()Z in magnesium.mixins.json:features.options.MixinWorldRenderer failed injection check
.
Most likely, this mod is the cause of the error. Uninstalling the mod will help to start the game.
Sometimes the problematic mod will appear not in the Caused by
line itself, but in one of the at
lines below:
[:] java.lang.RuntimeException: null
[:] at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:320) ~[forge-1.20.2-48.1.0-universal.jar%23185!/:?] {re:classloading}
[:] Suppressed: net.minecraftforge.fml.ModLoadingException: Age of Weapons - Reforged (ageofweapons) encountered an error during the common_setup event phase
[:] §7java.lang.NoClassDefFoundError: net/minecraftforge/network/PlayMessages$SpawnEntity
[:] at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:118) ~[javafmllanguage-1.20.2-48.1.0.jar%23182!/:?] {}
[:] Caused by: java.lang.NoClassDefFoundError: net/minecraftforge/network/PlayMessages$SpawnEntity
[:] at xxrexraptorxx.ageofweapons.registry.ModEntities.lambda$static$1(ModEntities.java:25) ~[ageofweapons-reforged-1.20.x-v.1.3.2.jar%23166!/:1.3.2] {re:classloading}
[:] at net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:366) ~[forge-1.20.2-48.1.0-universal.jar%23185!/:?] {re:classloading,pl:eventbus:A}
[:] Caused by: java.lang.ClassNotFoundException: net.minecraftforge.network.PlayMessages$SpawnEntity
[:] at net.minecraftforge.securemodules.SecureModuleClassLoader.loadClass(SecureModuleClassLoader.java:397) ~[securemodules-2.2.3.jar:?] {}
[:] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] {}
[:] at xxrexraptorxx.ageofweapons.registry.ModEntities.lambda$static$1(ModEntities.java:25) ~[ageofweapons-reforged-1.20.x-v.1.3.2.jar%23166!/:1.3.2] {re:classloading}
[:] at net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:366) ~[forge-1.20.2-48.1.0-universal.jar%23185!/:?] {re:classloading,pl:eventbus:A}
In this example, the error occurs in the ageofweapons
mod, which probably doesn't support used Forge version - it can't find (ClassNotFoundException
) the Minecraft Forge component (net.minecraftforge.network.PlayMessages$SpawnEntity
)
Older versions of Forge generated a table with a mods list:
[:] | State | ID | Version | Source | Signature |
[:] |:----- |:-------------- |:------------ |:----------------------------------------- |:---------------------------------------- |
[:] | LCH | minecraft | 1.12.2 | minecraft.jar | None |
[:] | LCH | mcp | 9.42 | minecraft.jar | None |
[:] | LCH | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2860.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
[:] | LCH | forge | 14.23.5.2860 | forge-1.12.2-14.23.5.2860.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
[:] | LCE | xujmod | 2.0.8 | xujmod-2.0.8.jar | None |
The presence of the letter E
in the "State" column signals an error in the mod. For example, in this example xujmod
is broken. After removing the broken mods, the game will work.
Forge - missing mod (dependency)
[:] net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from XujMod (xujmod)
[:] Caused by: java.lang.NoClassDefFoundError: blusunrize/immersiveengineering/common/items/ItemIEBase
[:] at net.lasernet.xuj.ModItems.init(ModItems.java:55)
[:] at net.lasernet.xuj.XujMod.preInit(XujMod.java:60)
The NoClassDefFoundError
error usually signals a missing mod. From this line we can see that the immersiveengineering
mod is missing. After installing all required mods the game will work.
> [17:01:14] [main/ERROR] [ne.mi.fm.lo.ModSorter/LOADING]: Missing or unsupported mandatory dependencies:
> Mod ID: 'valhelsia_core', Requested by: 'valhelsia_structures', Expected range: '[1.1.1,)', Actual version: '[MISSING]'
This line shows that the valhelsia_structures
mod needs valhelsia_core
mod version 1.1.1
or newer, which is not installed now (MISSING
). After installing all required mods of required versions the game will start.
Forge - invalid mod name
After switching the game to Java 17 Forge may crash due to incorrect names of mods. It is not recommended to rename mods with names containing non-Latin characters.
> Exception in thread "main" java.lang.IllegalArgumentException: 1.0-1.18+: Empty pre-release
> at java.base/java.lang.module.ModuleDescriptor$Version.<init>(ModuleDescriptor.java:1054)
> at java.base/java.lang.module.ModuleDescriptor$Version.parse(ModuleDescriptor.java:1090)
By the line 1.0-1.18+: Empty pre-release
we can see that Forge cannot understand the line 1.0-1.18+
of some mod. Looking in the mods folder, we find the file lazydfu-1.0-1.18+
. After renaming the mod, for example, to lazydfu-1.0
, or uninstalling it the game will work.
In newer versions of the game, there is another case:
> Exception in thread "main" java.lang.IllegalArgumentException: multi-piston: Invalid module name: 'multi-piston' is not a Java identifier
> at java.base/jdk.internal.module.Checks.requireModuleName(Checks.java:59)
The IllegalArgumentException
with the comment Invalid module name
indicates an invalid module name for the mod. This usually points to one of two things: either the mod is broken, or the mod is being loaded with the wrong version of the game. There's also a chance the issue lies in the mod's filename – in this case, you could try renaming the mod (for this example - from multi-piston
to multipiston
)
Do not rename mods using non-latin characters! Some Forge versions will assign empty module names to such mods, causing them to break!
Forge - duplicated mods
> Exception in thread "main" [16:41:20] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1069]: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> [16:41:20] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1069]: at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:39)
> [16:41:20] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1078]: Caused by: java.lang.reflect.InvocationTargetException
> [16:41:20] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1078]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [16:41:20] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: Caused by: java.lang.ClassFormatError: Duplicate interface name "xaero/common/minimap/mcworld/IXaeroMinimapClientWorld" in class file net/minecraft/client/world/ClientWorld
> [16:41:20] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:659]: at java.base/java.lang.ClassLoader.defineClass1(Native Method)
The java.lang.ClassFormatError: Duplicate interface name ... in class file ...
signals us that a mod has been installed twice. After removing the duplicate (the name of the mod usually can be found from the error text, for the example above it is XaeroMinimap
) the game will start.
Fabric - broken mod
> java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'bosses_of_mass_destruction'!
> at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388)
> Suppressed: java.lang.NoClassDefFoundError: Could not initialize class net.barribob.maelstrom.MaelstromMod
> at net.barribob.maelstrom.MaelstromModKt.init(MaelstromMod.kt:46)
In this log we can see that the bosses_of_mass_destruction
mod prevented the game from launching, which in turn was prevented by an error in the Maelstrom
mod. After replacing the Maelstrom
mod or removing the bosses_of_mass_destruction
mod, the error will most likely disappear.
> java.lang.RuntimeException: Mixin transformation of net.minecraft.class_372 failed
> at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
> Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
> at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
> Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [sodium-extra.mixins.json:toasts.MixinTutorialToast from mod sodium-extra] from phase [DEFAULT] in config [sodium-extra.mixins.json] FAILED during APPLY
> at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638)
> Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Invalid descriptor on sodium-extra.mixins.json:toasts.MixinTutorialToast from mod sodium-extra->@Inject::draw(Lnet/minecraft/class_4587;Lnet/minecraft/class_374;JLorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V! Expected (Lnet/minecraft/class_332;Lnet/minecraft/class_374;JLorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V but found (Lnet/minecraft/class_4587;Lnet/minecraft/class_374;JLorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V [INJECT Applicator Phase -> sodium-extra.mixins.json:toasts.MixinTutorialToast from mod sodium-extra -> Apply Injections -> -> Inject -> sodium-extra.mixins.json:toasts.MixinTutorialToast from mod sodium-extra->@Inject::draw(Lnet/minecraft/class_4587;Lnet/minecraft/class_374;JLorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V]
> at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:567)
This time Fabric can't explicitly point us to the problematic mod, but we can recognize it from the error cause message (Caused by:
): Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [sodium-extra.mixins.json:toasts.MixinTutorialToast from mod sodium-extra]
.
We can see that the problem was the sodium-extra
mod, and after removing it the game is likely to run.
[:] java.lang.NoSuchFieldError: stateTicks
[:] at com.github.mim1q.minecells.entity.ProtectorEntity.<init>(ProtectorEntity.java:31)
[:] at net.minecraft.class_1299.method_5883(class_1299.java:544)
This time the error occurred during the game, and Fabric is again unable to detect the problematic mod. But we are lucky - if we read the at
lines, we can see that the failure occurred when the minecells
mod was running and removing it will most likely solve the issue.
Fabric - mod dependencies
> net.fabricmc.loader.impl.FormattedException: Some of your mods are incompatible with the game or each other!
> A potential solution has been determined, this may resolve your problem:
> - Replace mod 'Fabric Loader' (fabricloader) 0.15.7 with any version between 0.14.25 (inclusive) and 0.15- (exclusive).
> More details:
> - Mod 'GoProne' (goprone) 3.1.3 requires any version between 0.14.21 (inclusive) and 0.15- (exclusive) of mod 'Fabric Loader' (fabricloader), but only the wrong version is present: 0.15.7!
> at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:51) ~[fabric-loader-0.15.7.jar:?]
You must install mods that meet the requirements of the installed mods.
For example, in this case a mod requires a version of Fabric Loader 0.14.25 or newer
, but is older than 0.15
, making it unsuitable for the version 0.15.7
you are using. Updating the mod or installing the required version of fabric-loader
will fix this problem.
Mod corruption
Exception in thread "main" cpw.mods.niofs.union.UnionFileSystem$UncheckedIOException: java.util.zip.ZipException: zip END header not found
Caused by: java.util.zip.ZipException: zip END header not found
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.findEND(ZipFileSystem.java:1315)
The java.util.zip.zip.ZipException: zip END header not found
error in the log signals that the game files and/or mods are corrupted. Use the "update client" checkbox, re-download mods from CurseForge/Modrinth.
Fabric stores some data in the .fabric
folder in the game folder. If a similar error occurs with Fabric, it is recommended to delete this folder
The presence of such a problem signals problems with the hard disk drive. It is recommended to check the entire system for integrity
Config files corruption
> net.minecraftforge.fml.config.ConfigFileTypeHandler$ConfigLoadingException: Failed loading config file flywheel-client.toml of type CLIENT for modid flywheel
> at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:47) ~[forge:?] {re:classloading}
> at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:90) ~[forge:?] {re:classloading}
> Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available
> at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) ~[core-3.6.3.jar:?] {}
Such errors are usually recognized by the presence of the word "config" or "settings" in the error. In this example you can see that the flywheel-client.toml
config file of the flywheel
mod is broken.
Such problems are solved very simply - by deleting the corresponding file from the config
folder in the game folder, or by deleting the entire config
folder - the mods will recreate their settings files.