CC: Tweaked

CC: Tweaked

42M Downloads

CC: Tweaked fails to load correctly: Some conflict with another mod which I cannot narrow down.

Elias2804 opened this issue ยท 7 comments

commented

Minecraft Version

1.18.x

Version

1.101.0

Details

Error itself
Crashlog
Whole log, lists mods and all

The error is a little tricky to reproduce. The main two that seem to be in conflict are Antique Atlas and CC: Tweaked.
However, just having those two won't produce the error. It is in my modpack that either one fails to load. However removing Antique Atlas from the modpack doesn't make CC not load and the game starts just fine. This works in the opposite direction with CC as well.
How a map mod and a programming mod are in conflict is beyond me.

commented

It could have something to do with this.

commented

I'm inclined to say this is a Forge bug due to its multi-threaded mod loding, but will do some more investigation tomorrow.

Does this happen every time you launch the pack, or is it only occasionally?

commented

The actual error in question:

java.util.ConcurrentModificationException
Stacktrace:
	at java.util.HashMap.computeIfAbsent(HashMap.java:1221) ~[?:?] {re:mixin}
	at net.minecraft.Util$9.apply(Util.java:658) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?] {re:classloading}
	at net.minecraftforge.client.ForgeRenderTypes.getText(ForgeRenderTypes.java:124) ~[forge-1.18.2-40.1.70-universal.jar%23165!/:?] {re:classloading}
	at net.minecraft.client.renderer.RenderType.m_110497_(RenderType.java:291) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at dan200.computercraft.client.render.RenderTypes.<clinit>(RenderTypes.java:35) ~[cc-tweaked-1.18.2-1.101.0.jar%2374!/:1.101.0] {re:classloading}

Both Antique Atlas and CC:T use Minecraft's RenderType.text during mod initialisation (as they both store a field inside a static final field). However, as mods are loaded in parallel and Minecraft's Util.memoize not being thread safe, this causes a CME.

I'm going to report this to Forge, because I feel this is something they should probably patch. Will see what they say.

commented

This is a Forge problem. I've submitted a PR for Forge 1.19, and will backport it to 1.18 if they accept it.

commented

can this be fixed for version 1.18 ? or is this an actual forge problem that CC:tweaked cant fix ?

commented

nice that would be awsome :D

love both of those mods and it sucks i cant use them both at the same time

commented

This is fixed for 1.19, and I've submitted the PR on 1.18. Closing as there's nothing else to do on my end.