oωo (owo-lib)

oωo (owo-lib)

29M Downloads

Mixin conflict between Accessories, Lithium, and OWO on Minecraft’s DataComponentMap → infinite patch/derive loop.

Closed this issue · 2 comments

commented

Crashes in Minecolonies/Structurize appears to indicate a possibility for infinite recursion in owo-lib in conjunction with other mods.

With assistance from o4-mini-high:

java.lang.StackOverflowError: Unexpected error
  at ReferencePipeline.toArray(ReferencePipeline.java:622)
  …
  at PatchedDataComponentMap.handler$…restorePatch(PatchedDataComponentMap.java:609)
  at DerivedComponentMap.derive(DerivedComponentMap.java:33)
  at ItemStack.<init>(ItemStack.java:265)
  …

This infinite recursion between PatchedDataComponentMap.restorePatch(...) (from the Accessories and Lithium mixins) and DerivedComponentMap.derive(...) (from OWO) during ItemStack initialization is overflowing the stack ​. A nearly identical trace shows up again at 19:00:17.

Root causes

  • Mixin conflict between Accessories, Lithium, and OWO on Minecraft’s DataComponentMap → infinite patch/derive loop.
    

Crash reports:
crash-2025-04-29_18.49.02-client.txt
crash-2025-04-29_18.49.17-client.txt
crash-2025-04-29_18.59.25-client.txt
crash-2025-04-29_18.59.29-client.txt
crash-2025-04-29_19.00.17-client.txt
crash-2025-04-29_19.00.21-client.txt

commented

Related structurize bug report: ldtteam/Structurize#740

commented

Has been resolved. Appears the error was in Structurize.