makamys/CoreTweaks

FML transformer proxy classes fail to be created on JDK <8u362

Closed this issue · 4 comments

Sometimes CoreTweaks will fail to initialize the game from failing to create proxy class for cpw.mods.fml.common.asm.transformers.SideTransformer.

Logs: (No crash logs were generated)

https://mclo.gs/nVDU41u

Configs used:

coretweaks.txt

Modpack Used:

The Lost Era Modpack

I can consistently reproduce this with no other mods if using a JDK version older than 8u362 (including the classic 8u51).

It seems that in 8u362, they made SHA-1 certificates get ignored (see JDK-8269039), which is why the issue no longer happens. Regardless, I will try to provide a fix for older versions since 8u51 is still used by a significant portion of the 1.7.10 playerbase.

Hopefully this fix will work but I would like to reiterate that this occurs in even versions above 8u362:

It still occurs on the latest release:

This is no longer a CoreTweaks issue, it's an issue with Theseus that happens even in an empty 1.7.10 Forge instance with no mods (as of v0.6.2). It just looks like CoreTweaks is responsible because it happens to be the last mod that prints something before the crash.

The issue is 1.7.10 Forge needs Guava 17, but Theseus puts both Guava 17 and Guava 15 on the classpath, and randomizes the order (not sure if intentionally or not). Whenever 15 ends up first, this error happens, since Forge is looking for a method that didn't exist yet in 15.

For comparison, MultiMC only puts Guava 17 on the classpath.