Debugify

Debugify

16M Downloads

[Bug] Conflict with other mods using mixinextras

supersaiyansubtlety opened this issue ยท 14 comments

commented

Bug Description

When Debugify is loaded alongside either of two of my mods Recipe Reshaper or Chicken Nerf, the game crashes on startup with the error

Caused by: java.lang.LinkageError: loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @5034c75a attempted duplicate class definition for com.llamalad7.mixinextras.MixinExtrasBootstrap

Here are the issues on my side
https://gitlab.com/supersaiyansubtlety/recipe_reshaper/-/issues/3
https://gitlab.com/supersaiyansubtlety/chicken_nerf/-/issues/6

How to Reproduce?

  1. install chicken_nerf 1.0.16 or recipe_reshaper 1.0.6 alongside debugify 2.3.2 and required dependencies
  2. start server
  3. the game will crash

Expected Behavior

The game starts normally

Version

2.7.1

Fabric/Quilt Loader Version

Minecraft 1.19 with Fabric Loader 0.14.10

Logs or additional context

Logs are in the issues on my side.

The logs say version 2.3.2 of debugify, but I've reproduced the issue using 2.7.1.

Is there a reason you initialize mixinextras in a mixin plugin and not in a preLaunch entrypoint as suggested by mixinextras?

That's the only oddity I can think of that would cause this issue, as my mods work alongside other mods that initialize mixinextras via preLaunch as usual.

Has not been reported.

  • I made sure this bug hasn't already been reported.

Is on most update to date version.

  • I made sure I am using the most up to date fabric/quilt loader and mod version.
commented

Can you confirm 12182ad fixes your issue?

commented

Can you provide a jar please?

commented

Status Failure
Total duration 2m 1s
Artifacts โ€“

commented

i think im having this issue as well, when i backtrack to the previous debugify update my game launches fine
Mine also references a mixin error

commented

@ElfKing94 does it reference mixinextras?

A latest.log would be ideal.

commented

A mod crashed on startup!
net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'debugify'!
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:164)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'debugify'!
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:162)
... 2 more
Caused by: java.lang.LinkageError: loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @21a947fe attempted duplicate class definition for com.llamalad7.mixinextras.MixinExtrasBootstrap. (com.llamalad7.mixinextras.MixinExtrasBootstrap is in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @21a947fe, parent loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader$DynamicURLClassLoader @25359ed8)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:186)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:347)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:145)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50)
at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117)
at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
... 4 more

commented

sorry for the late response. it does reference MixinExtrasBootstrap

commented

What version of debugify?
Does it happen with no other mods present?

commented

this would be the newest version of debugify. testing a build with just debugify now

commented

debugify is fine on its own. not sure yet which mod is interfereing to give clue where break is

commented

thats weird because the previous version of debugify runs fine on my build

commented

@supersaiyansubtlety I just checked Debugify, Recipe Reshaper, and Chicken Nerf, they all properly init MixinExtras in their fabric.mods.json file. The problematic mod in your modpack is trying to init MixinExtras in their Mixin Plugins like they should not be doing. So none of these three mods are at fault.

Do you have Stonecutter Groups or Spectrum in your modpack? Those two mods are using MixinPlugins to init MixinExtras which will cause other mods that do init MixinExtras properly to break with the stacktrace you shown. I already pinged the devs of those two mods and Spectrum dev replies saying they will fix it next update for Spectrum which may be a week from now.

commented

@TelepathicGrunt Debugify used to init it in a plugin, I hadn't realized they'd released a version that switched to preLaunch.