ModernFix

ModernFix

72M Downloads

block texture corruption on fabric

Abalieno opened this issue ยท 19 comments

commented

Tried loading a large modpack, everything appears fine, but there's some corruption.

It seems to happen on different block, but it looks like this:

uio;l

This is a machine, but in a different test I saw it happen with a grass block. Both cases had only corrupted sides.

Using modernfix-mc1.19.2-fabric-3.5.2

commented

Yes, it seems to fix it.

commented

If you are able to get it to happen consistently, it would be useful to know if disabling mixin.perf.faster_texture_stitching in the config fixes it.

commented

modernfix-mc1.19.2-fabric-3.5.2-11-g6eddbd1 to >modernfix-mc1.19.2-fabric-3.5.2-14-g2de8f02

texture corruption is back

EDIT: actually, reverting still gives the same texture corruption, so I don't know. I thought it was fixed at some point. I've disabled stitching again to make it work.

commented

It hasn't been fixed yet and I'm not sure exactly what the problem is as it only seems to happen to a few people.

commented

Can you get this to occur with Sodium disabled? It might be IrisShaders/Iris#1726, which was eventually tracked down to be a bug in Sodium, but was only fixed for 1.19.3+ versions.

commented

I'll try but I don't use Iris, and Sodium without Modernfix doesn't show problems.

commented

It's proving tricky to test.

Removed modernfix config, removed sodium and related mods > no problem
reloaded to be sure > no problem
restored sodium and co. > ... no problem
reloaded a second time > still no problem

(using modernfix-mc1.19.2-fabric-3.5.2-23-gbd1182a)

commented

uikluil

I also have this problem that I'm ... almost sure it's also due to Modernfix.

Kubejs client scripts seem to be working oddly. I get this random spam, rather than 1 line. Other items have a varied number of repeated lines, and in a few cases, no custom messages appearing where they should be.

It gets fixed immediately with /kubejs reload client_scripts

But it seems the problem only shows up when I use Modernfix.

commented

It was an issue in Sodium, not Iris; it's just that Iris backports the fix to older versions (since Sodium is not updated for 1.19.2 and older). I think having Iris installed but not enabling a shader would be enough to take advantage of the fix.

commented

Oops, closed the wrong issue.

commented

It wouldn't surprise me if this is a bug in KubeJS which ModernFix reveals as a result of some speedup. As far as I know 1.19 KubeJS builds are relatively unreliable and a bunch of packs are reloading scripts a second time to work around problems.

commented

Yes, including mine :)

commented

It seems to be working, but I need to test more to be sure.

commented

Nope, still having problems and duplicated tooltips. Hopefully the new version of kubejs coming out soon fixes the whole thing:

! [19:16:53] [ERR] Error occurred while handling event 'ItemEvents.tooltip': java.util.ConcurrentModificationException
[19:16:53] [ERR ] java.util.ConcurrentModificationException
[19:16:53] [ERR ] at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1229)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.item.ItemTooltipEventJS.add(ItemTooltipEventJS.java:89)
[19:16:53] [ERR ] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
[19:16:53] [ERR ] at java.base/java.lang.reflect.Method.invoke(Method.java:578)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.MemberBox.invoke(MemberBox.java:160)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.NativeJavaMethod.call(NativeJavaMethod.java:463)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.Interpreter.interpretLoop(Interpreter.java:1086)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.Interpreter.interpret(Interpreter.java:423)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.InterpretedFunction.call(InterpretedFunction.java:72)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.Context.doTopCall(Context.java:1197)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.ScriptRuntime.doTopCall(ScriptRuntime.java:2619)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.InterpretedFunction.call(InterpretedFunction.java:70)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.ArrowFunction.call(ArrowFunction.java:42)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:129)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.InterfaceAdapter.invoke(InterfaceAdapter.java:88)
[19:16:53] [ERR ] at dev.latvian.mods.rhino.VMBridge.lambda$newInterfaceProxy$0(VMBridge.java:70)
[19:16:53] [ERR ] at jdk.proxy2/jdk.proxy2.$Proxy114.onEvent(Unknown Source)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.event.EventHandlerContainer.handle(EventHandlerContainer.java:33)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.event.EventHandler.postToHandlers(EventHandler.java:206)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.event.EventHandler.post(EventHandler.java:191)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.event.EventHandler.post(EventHandler.java:158)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.event.EventHandler.post(EventHandler.java:151)
[19:16:53] [ERR ] at dev.latvian.mods.kubejs.client.KubeJSClientEventHandler.itemTooltip(KubeJSClientEventHandler.java:128)
[19:16:53] [ERR ] at dev.architectury.event.fabric.EventHandlerImpl.lambda$registerClient$6(EventHandlerImpl.java:60)
[19:16:53] [ERR ] at net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback.lambda$static$0(ItemTooltipCallback.java:37)
[19:16:53] [ERR ] at net.minecraft.class_1799.handler$fba001$fabric-item-api-v1$getTooltip(class_1799.java:10162)
[19:16:53] [ERR ] at net.minecraft.class_1799.method_7950(class_1799.java:835)
[19:16:53] [ERR ] at me.shedaniel.rei.plugin.client.entry.ItemEntryDefinition.tryGetItemStackToolTip(ItemEntryDefinition.java:230)
[19:16:53] [ERR ] at me.shedaniel.rei.plugin.client.entry.ItemEntryDefinition$ItemEntryRenderer.getTooltip(ItemEntryDefinition.java:375)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.common.entry.AbstractEntryStack.getTooltip(AbstractEntryStack.java:211)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.client.search.argument.type.TooltipArgumentType.tryGetEntryStackTooltip(TooltipArgumentType.java:90)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.client.search.argument.type.TooltipArgumentType.cacheData(TooltipArgumentType.java:75)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.client.search.argument.type.TooltipArgumentType.cacheData(TooltipArgumentType.java:45)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.client.search.argument.ArgumentCache.cacheStacks(ArgumentCache.java:138)
[19:16:53] [ERR ] at me.shedaniel.rei.impl.client.search.argument.ArgumentCache.lambda$cache$1(ArgumentCache.java:110)
[19:16:53] [ERR ] at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[19:16:53] [ERR ] at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
[19:16:53] [ERR ] at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
[19:16:53] [ERR ] at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
[19:16:53] [ERR ] at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
[19:16:53] [ERR ] at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
[19:16:53] [ERR ] at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

commented

I don't think this one is caused by ModernFix, looks to be related to REI async search.

commented

It's what happened in the post with the image above. I cannot test further now, but last time I tried it seemed to resolve without Modernfix.

commented

It's a ConcurrentModificationException which means it won't happen consistently. Sometimes ModernFix's performance improvements cause them to occur more regularly.

commented

Are you able to reproduce the KubeJS issue consistently? Might be fixed now in the latest dev version, there was a conflict between some NBT logic in KubeJS and one of ModernFix's optimizations.

commented

I think the original texture issue can be resolved by installing Iris for 1.19.2 and older, and I am pretty sure the KubeJS issue is something else, so I'll close this.