Crash Assistant

Crash Assistant

1M Downloads

Mod Crash another Mod (Infinite Music)

suerion opened this issue · 8 comments

commented

Hey, i had used Infinite Music, but allways on adding crash assistant, it crash the client on start.

Without it does work

Fabric 1.21.1 on 0.16.9
latest.log:
https://mclo.gs/wGJl089

Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.class_310
	at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.16.9.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:482) ~[fabric-loader-0.16.9.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.9.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.16.9.jar:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.class_310
	at knot/net.minecraft.client.main.Main.main(Main.java:210) ~[fabric-loader-0.16.9-1.21.1.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) ~[fabric-loader-0.16.9.jar:?]
	... 2 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "main"]
	at knot/net.minecraft.class_310.<clinit>(class_310.java:265) ~[client-intermediary.jar:?]
	at knot/dev.plasticstraw.inf_music.InfiniteMusic.<clinit>(InfiniteMusic.java:30) ~[infinite-music-0.4.6.jar:?]
	at knot/net.minecraft.class_5195.handler$gne000$infinite-music$addGameplayMusic(class_5195.java:1027) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_5195.<init>(class_5195.java:25) ~[client-intermediary.jar:?]
	at knot/com.biomemusic.AdditionalMusic.<clinit>(AdditionalMusic.java:20) ~[biomemusic-fabric-1.21-2.5.jar:?]
	at knot/net.minecraft.class_3417.handler$cdl001$biomemusic$onInit(class_3417.java:1722) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_3417.<clinit>(class_3417.java:1619) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_2766.<clinit>(class_2766.java:9) ~[client-intermediary.jar:?]
	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) ~[?:?]
	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160) ~[?:?]
	at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300) ~[?:?]
	at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(MethodHandleAccessorFactory.java:71) ~[?:?]
	at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(ReflectionFactory.java:159) ~[?:?]
	at java.base/java.lang.reflect.Method.acquireMethodAccessor(Method.java:726) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[?:?]
	at java.base/java.lang.Class.getEnumConstantsShared(Class.java:4014) ~[?:?]
	at java.base/java.lang.Class.getEnumConstants(Class.java:3989) ~[?:?]
	at knot/net.minecraft.class_2754.method_11848(class_2754.java:73) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_2754.method_11850(class_2754.java:69) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_2741.<clinit>(class_2741.java:144) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_2358.<clinit>(class_2358.java:43) ~[client-intermediary.jar:?]
	at knot/net.minecraft.class_2966.method_12851(class_2966.java:52) ~[client-intermediary.jar:?]
	at knot/net.minecraft.client.main.Main.main(Main.java:130) ~[fabric-loader-0.16.9-1.21.1.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) ~[fabric-loader-0.16.9.jar:?]
	... 2 more

latest.log without crash assistant
https://mclo.gs/qriAEGp

commented

My mod does simple mixin to MinecraftClient which does simple logic on return of function stop(). This can't break anything.
Seems like some mod does shit with this class.
Try disabling mods which will be printed with this powershell command.

Add-Type -AssemblyName System.IO.Compression.FileSystem

Get-ChildItem *.jar | ForEach-Object {
    $jarFile = $_.FullName
    $zipArchive = [System.IO.Compression.ZipFile]::OpenRead($jarFile)
    
    foreach ($entry in $zipArchive.Entries) {
        if ($entry.FullName -match "\.json$") {
            $stream = $entry.Open()
            $reader = New-Object System.IO.StreamReader($stream)
            $content = $reader.ReadToEnd()
            $reader.Close()
            $stream.Close()

            if ($content -match "class_310") {
                Write-Output $jarFile
                break
            }
        }
    }
    
    $zipArchive.Dispose()
}
commented

Nvm, found reason.
The issue ,what some mod also packed in jar in jar core-3.6.4.jar and toml-3.6.4.jar but this files are corrupted/ doesn't actually contain night config of 3.6.4 version.
Will fix soon.

commented

Nvm, found reason. The issue ,what some mod also packed in jar in jar core-3.6.4.jar and toml-3.6.4.jar but this files are corrupted/ doesn't actually contain night config of 3.6.4 version. Will fix soon.

no problem, sorry i was not able to test it yet, because of christmas with family and so...

but thanks for the powershell code to check some items

commented

I was a little bit wrong with the explanation.
The error occurs because when a couple of mods are added using a jar-in-jar dependency, Fabric uses the dependency with the latest version. The problem is that this mod was built for the night config of a previous version, and if you try to use it with the night config of the next version, it will cause errors.
You don’t need to search for the mod.
Technically, this isn’t a bug, but rather an issue with the Fabric mod loader...
This won’t be fixed, so we’ll have to accept this feature of how Fabric works.
I have some ideas on how to fix this and am working on it.

commented

Just published 1.2.2 with fix.

commented

Just published 1.2.2 with fix.

just a quick replay, work now fine :)

commented

Hey, yes, i had today an christmas party, than i could look again on it.

Will come back to you :)

commented

Cant't reproduce on clear setup Infinite Music + CrashAssistant.
I assumed Automodpack done this, but also can't reproduce with Infinite Music + CrashAssistant + Auto Modpack.
Also tried adding Biome Music mod. No effect.
Can you try to find another mod causing class_310(MinecraftClient) load correctly? With binary search.
Or I need your modpack.