Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Elias2804 opened this issue Nov 13, 2022 · 7 comments
Labels
area-Minecraft This affects CC's Minecraft-specific content. bug A problem or unexpected behaviour with the mod. invalid Issues caused by user error, another mod, etc...

Comments

@Elias2804
Copy link

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.

@Elias2804 Elias2804 added the bug A problem or unexpected behaviour with the mod. label Nov 13, 2022
@Elias2804
Copy link
Author

It could have something to do with this.

@Elias2804 Elias2804 reopened this Nov 13, 2022
@SquidDev
Copy link
Member

SquidDev commented Nov 13, 2022

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?

@SquidDev
Copy link
Member

SquidDev commented Nov 14, 2022

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.

@SquidDev SquidDev added the area-Minecraft This affects CC's Minecraft-specific content. label Nov 14, 2022
@stiderspace
Copy link

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

@SquidDev
Copy link
Member

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.

@stiderspace
Copy link

stiderspace commented Nov 19, 2022

nice that would be awsome :D

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

@SquidDev
Copy link
Member

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.

@SquidDev SquidDev added the invalid Issues caused by user error, another mod, etc... label Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Minecraft This affects CC's Minecraft-specific content. bug A problem or unexpected behaviour with the mod. invalid Issues caused by user error, another mod, etc...
Projects
None yet
Development

No branches or pull requests

3 participants