Prunoideae / ProbeJS

Supercharging your modpack experience.
GNU General Public License v3.0
46 stars 14 forks source link

[Bug-1.21-7.0.1] Inconsistent typing generation #77

Closed 3x1t-5tyl3 closed 2 months ago

3x1t-5tyl3 commented 2 months ago

QNgJ1730aYz3IrrV

On the left the client is a fresh install. On the right it had other mods installed and I was trying to do a binary mod-enabling to figure out which one does it. But both clients have the exact same loader, mods and versions for everything.

With just Rhino, KubeJS and ProbeJS installed, on the other client disabled.

Both worlds and dumps were generated in creative with commands enabled and the same seed to lower variables

Versions: Java: 21 Minecraft: 1.21 Neoforge 21.0.42-beta ProbeJS: 7.0.1 KubeJS: 2100.7.0-build.53 Rhino: 2100.2.5-build.32 Erroring log: https://mclo.gs/eegdi0I

EDIT: THis still happens with the mods entirely removed from the mods folder

Prunoideae commented 2 months ago

Try remove .probe/classes.txt for a fresh redump to see if it works. Your problem is that the enumConstants unexpectedly throw exception on com/lmax/disruptor/EventTranslatorVararg.

image

I don't think it will happen with mods entirely removed from the mods folder, otherwise your game installation is having some very severe problem with the bytecode.

Prunoideae commented 2 months ago

This is unexpected... I am sure that one of your mods referred to EventTranslatorVararg at runtime, which made ProbeJS tries to dump it, but the weird thing is that this class does not actually exist on runtime and is never accessible from Class<?> object but loadable from forName. So either there're some problem in neoforge or whatever's environment, or one of the mod is using a very internal class that no one expected it to use.

3x1t-5tyl3 commented 2 months ago

Yeah. Figured that out as-well yesterday. Some mod is causing issues and shitting itself. Causing everything else to not work anymore. I ended up running an enviroment with probe with the mods I care most about and it works. Though I have no idea what caused this in the first place. I tried for several hours yesterday to figure out which mod it is. Came out empty handed as I'd try it -> crashes. Deleted the folders -> worked with every single mod.

Prunoideae commented 2 months ago

And it's because org.apache.logging.log4j.core.async.AsyncLogger is a part of Minecraft, but its dependency com.lmax.disruptor.EventTranslatorVararg is not. But anyway, it should be handled correctly after I push a fix.

3x1t-5tyl3 commented 2 months ago

If it's of any help, I can run probe again in my entire modlist. But I suspect it'll not work and give me an unhelpful "null" error and that's it

Prunoideae commented 2 months ago

I think I won't ask further... Minecraft mod is such a big community, and I can't expect everyone here to write code as I would expect, so I will just push a fix some time later.

Prunoideae commented 2 months ago

Closed as v7.1.0 is uploaded to CurseForge.