LagGoggles

LagGoggles

9M Downloads

Unable to load most recent version with TownCraft Thin or Fat.

ProsperCraft opened this issue ยท 9 comments

commented

Describe the bug
Unable to run after updating.

To Reproduce
update TownCraft mods, start.

If you are using SpongeForge, which version are you using?
Not on the client.

https://gist.github.com/ProsperCraft/d34a68b1a4efc5c0b89b98005044c1c3

latest.log
debug.log

LagGoggles-FAT-1.12.2-4.6

commented

There's two possibilities here:

RandomPatches

[21:14:32] [main/DEBUG] [randompatches]: Transforming class: net.minecraft.entity.Entity
[21:14:32] [main/DEBUG] [randompatches]: Patching method: func_189511_e (writeToNBT)
[21:14:32] [main/DEBUG] [randompatches]: Patching method: func_70020_e (readFromNBT)

Wizardry

[21:14:34] [main/INFO] [STDOUT]: [com.teamwizardry.wizardry.asm.WizardryTransformer:log:35]: [wizardry ASM] Successfully patched -> 'func_76979_b', 'doRenderShadowAndFire' with '(Lnet/minecraft/entity/Entity;DDDFF)V'

Resulting in...

[21:14:34] [main/ERROR] [mixin]: Critical problem: mixins.laggoggles.json:MixinEntity target net.minecraft.entity.Entity was already transformed.

Try temporarily disabling these mods, and see if that works. I would start with RandomPatches, since RandomPatches initiated the class load.

This isn't really a LagGoggles bug, but more of a incompatibility with Mixin on (probably) Wizardry or RandomPatches' side.

If you could let me know what worked for you, that'd be great

commented

By the way, the newer LagGoggles version is more strict at checking if classes transformed or not, older versions of LagGoggles probably failed as well, but still allowed Minecraft to load. This will result in incorrect timings, that's why the crash was implemented to prevent undefined behaviour, which is unacceptable for a profiling mod ;)

commented

Still, same problem with wizardry and random patches disabled.

I will temporarily remove the mod from the pack and mark it as incompatable so I can get this update out, and will have to troubleshoot more later.

commented

Woops, looks like I missed another transformer...

LLibrary Core

[21:14:35] [main/INFO] [LibrarianLib ASM]: Applying Transformation to method (Names [updateEntityWithOptionalForce, func_72866_a] Descriptor (Lnet/minecraft/entity/Entity;Z)V)
commented

It was incompatible with my other packs DrTARDIS 2, and Ancient TownCraft, so removed from those for now as well until we can figure it out.

commented

I'm running into a similar issue. I tried disabling Librarian Lib, Creative Core, Open Computers and Quark since they created a similar log message to this:

Transforming class: net.minecraft.entity.Entity

That didn't work.

Latest.log: https://pastebin.com/AWHJx23c

It doesn't create a crash log.

commented

@TheDeviantCrafter

You might be intrested in looking in to:

[17:58:09] [main/INFO] [ShetiPhian-ASM]: Attempting: Injection of Run Particle Override into Entity.createRunningParticles
[17:58:09] [main/INFO] [ShetiPhian-ASM]: Searching for: Entity.createRunningParticles (func_174808_Z)
[17:58:09] [main/INFO] [ShetiPhian-ASM]: Found Method: Entity.createRunningParticles
[17:58:09] [main/INFO] [ShetiPhian-ASM]: Injecting: Run Particle Override
commented

Are you seeing downloads of the new version with any modpacks?

commented

@ProsperCraft
~48,700 downloads in 19 days for the latest version according to the download page on curse.
I don't know where to check version-specific dependent modpacks.

The thing here is, a coremod is changing a class in such a way, that Mixin cannot modify it. (It modifies the class before Mixin, thus bypassing it)

Mixin is a tool that helps multiple modders modify the same class without having these issues. A mod that doesn't use mixin is not aware of any other transformers. When this happens, transforming the classes becomes a free-for-all. This is exactly what Mixin is designed to prevent, but sadly, not all mods use Mixin.

Don't get wrong, a pure mixin-based modpack can also shit the bed, it's just less likely.

The only reasonable solutions here are to either:

  • Remove either of the mods: LagGoggles, or the conflicting transformer
  • Update the conflicting transformer to use Mixin, or make it execute later.

There's nothing I can do about this. I already attempted maximum compatibility by using Mixin, and support SpongeForge on top of that.