block texture corruption on fabric
Abalieno opened this issue ยท 19 comments
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:
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
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.
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.
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.
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.
I'll try but I don't use Iris, and Sodium without Modernfix doesn't show problems.
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)
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.
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.
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.
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)
I don't think this one is caused by ModernFix, looks to be related to REI async search.
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.
It's a ConcurrentModificationException which means it won't happen consistently. Sometimes ModernFix's performance improvements cause them to occur more regularly.
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.