GTNewHorizons / Angelica

OptiFine replacement for 1.7.10
Other
235 stars 40 forks source link

OpenComputers robots in inventory/NEI cause lighting glitches and crashes #551

Open LekKit opened 1 month ago

LekKit commented 1 month ago

Your GTNH Discord Username

LekKit#4400

Mod Version

1.0.0-alpha52

Java Version

Java 8

Graphics Card Vendor

Intel iGPU

Bug Report

Having OpenComputers robots (Creatix) in inventory or stumbling upon them in NEI causes lighting glitches[1] and Xaeros' Minimap crash later on [2]. Resizing the client GUI crashes the game too [3].

Exiting to the main menu afterwards, every button together with the Minecraft logo looks darkened [4].

Disabling OpenGL state cache doesn't help.

It is in fact highly similar to #274. Maybe it regressed again?

Stumbled this upon modding. I have later removed all the mods except OC, same story. It is kinda hard to reproduce screenshots because of random crashes like [3].

[1] Screenshots:

Before: 2024-07-09_19 13 19

After (broken inventory & world lighting): 2024-07-09_19 13 28

2024-07-09_19 14 34

[2] Xaeros Minimap crash (if present):

java.lang.RuntimeException: Xaero's Minimap (1.7.10_21.10.41) has crashed! Please report here: bit.ly/XaeroMMIssues
    at xaero.common.minimap.MinimapInterface.checkCrashes(MinimapInterface.java:51)
    at xaero.common.minimap.MinimapProcessor.onRender(MinimapProcessor.java:150)
    at xaero.common.minimap.MinimapInterfaceInstance.render(MinimapInterfaceInstance.java:20)
    at xaero.common.interfaces.render.InterfaceRenderer.renderInterfaces(InterfaceRenderer.java:52)
    at xaero.common.events.ForgeEventHandler.handleRenderGameOverlayEventPreOverridable(ForgeEventHandler.java:73)
    at xaero.common.events.ForgeEventHandler.handleRenderGameOverlayEventPre(ForgeEventHandler.java:88)
    at cpw.mods.fml.common.eventhandler.ASMEventHandler_220_ForgeEventHandler_handleRenderGameOverlayEventPre_Pre.invoke(.dynamic)
    at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
    at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
    at net.minecraftforge.client.GuiIngameForge.pre(GuiIngameForge.java:895)
    at net.minecraftforge.client.GuiIngameForge.renderHelmet(GuiIngameForge.java:241)
    at net.minecraftforge.client.GuiIngameForge.callRenderHelmet(GuiIngameForge.java)
    at com.gtnewhorizons.angelica.hudcaching.HUDCaching.renderCachedHud(HUDCaching.java:170)
    at net.minecraft.client.renderer.EntityRenderer.redirect$zdj000$angelica$renderCachedHUD(EntityRenderer.java:3568)
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1038)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1001)
    at net.minecraft.client.Minecraft.run(Minecraft.java:4110)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
Caused by: java.lang.RuntimeException: glCheckFramebufferStatus returned unknown status:0
    at xaero.common.graphics.ImprovedFramebuffer.checkFramebufferComplete(ImprovedFramebuffer.java:213)
    at xaero.common.graphics.ImprovedFramebuffer.createBindFramebuffer(ImprovedFramebuffer.java:37)
    at net.minecraft.client.shader.Framebuffer.<init>(Framebuffer.java:37)
    at xaero.common.graphics.ImprovedFramebuffer.<init>(ImprovedFramebuffer.java:23)
    at xaero.common.minimap.render.MinimapFBORenderer.loadFrameBuffer(MinimapFBORenderer.java:54)
    at xaero.common.minimap.MinimapProcessor.onRender(MinimapProcessor.java:137)
    ... 25 more

[3] Client window resize crash:

java.lang.RuntimeException: glCheckFramebufferStatus returned unknown status:0
    at net.minecraft.client.shader.Framebuffer.checkFramebufferComplete(Framebuffer.java:176)
    at net.minecraft.client.shader.Framebuffer.createBindFramebuffer(Framebuffer.java:57)
    at net.minecraft.client.shader.Framebuffer.<init>(Framebuffer.java:37)
    at net.minecraft.client.LoadingScreenRenderer.<init>(LoadingScreenRenderer.java:31)
    at net.minecraft.client.Minecraft.resize(Minecraft.java:1553)
    at net.minecraft.client.Minecraft.func_147120_f(Minecraft.java:1099)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1040)
    at net.minecraft.client.Minecraft.run(Minecraft.java:4110)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

[4] Main menu after the glitch:

2024-07-09_19-02

Mod List or GTNH Pack Version

mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1614-1.7.10-universal.jar) Forge{10.13.4.1614} [Minecraft Forge] (forge-1.7.10-10.13.4.1614-1.7.10-universal.jar) CodeChickenCore{1.2.1} [CodeChicken Core] (minecraft.jar) NotEnoughItems{2.5.14-GTNH-pre} [NotEnoughItems] (NotEnoughItems-2.5.14-GTNH-pre.jar) OpenComputers|Core{1.8.3} [OpenComputers (Core)] (minecraft.jar) xaerominimap_core{1.7.10-1.0} [XaeroMinimapCore] (minecraft.jar) xaeroworldmap_core{1.7.10-1.0} [XaeroWorldMapCore] (minecraft.jar) ClientFixer{1.0} [ClientFixer] (minecraft.jar) unimixins{0.1.17} [UniMixins] (+unimixins-all-1.7.10-0.1.17.jar) unimixins-mixin{0.1.17} [UniMixins: Mixin (UniMix)] (+unimixins-all-1.7.10-0.1.17.jar) unimixins-compat{0.1.17} [UniMixins: Compatibility] (+unimixins-all-1.7.10-0.1.17.jar) mixingasm{0.3} [UniMixins: Mixingasm] (+unimixins-all-1.7.10-0.1.17.jar) spongemixins{2.0.1} [UniMixins: SpongeMixins] (+unimixins-all-1.7.10-0.1.17.jar) mixinbooterlegacy{1.2.1} [UniMixins: MixinBooterLegacy] (+unimixins-all-1.7.10-0.1.17.jar) gasstation{0.5.1} [UniMixins: GasStation] (+unimixins-all-1.7.10-0.1.17.jar) gtnhmixins{2.2.0} [UniMixins: GTNHMixins] (+unimixins-all-1.7.10-0.1.17.jar) mixinextras{0.1.17} [UniMixins: MixinExtras] (+unimixins-all-1.7.10-0.1.17.jar) bspkrsCore{6.15} [bspkrsCore] ([1.7.10]bspkrsCore-universal-6.15.jar) ArmorStatusHUD{1.28} [ArmorStatusHUD] ([1.7.10]ArmorStatusHUD-client-1.28.jar) embeddium{1.0.0-alpha52} [Embeddium] (angelica-1.0.0-alpha52.jar) notfine{1.0.0-alpha52} [NotFine] (angelica-1.0.0-alpha52.jar) mcpatcherforge{1.0.0-alpha} [MCPatcherForge] (angelica-1.0.0-alpha52.jar) gtnhlib{0.3.1} [GTNH Lib] (gtnhlib-0.3.1.jar) hodgepodge{2.5.4} [Hodgepodge] (hodgepodge-2.5.4.jar) angelica{1.0.0-alpha52} [Angelica] (angelica-1.0.0-alpha52.jar) bettercrashes{1.4.0-GTNH} [BetterCrashes] (bettercrashes-1.4.0-GTNH.jar) ComputerCraft{1.75} [ComputerCraft] (ComputerCraft1.75.jar) coretweaks{0.3.3.2} [CoreTweaks] (CoreTweaks-1.7.10-0.3.3.2+nomixin.jar) endercore{1.7.10-0.2.0.39_beta} [EnderCore] (EnderCore-1.7.10-0.2.0.39_beta.jar) inventorytweaks{1.59-dev-152-cf6e263} [Inventory Tweaks] (InventoryTweaks_1.7.10_1.59_dev_152.jar) NBTEdit{1.7.2.2} [In-game NBTEdit] (nbtedit_1.7.10.jar) NEIAddons{1.12.15.41} [NEI Addons] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|Developer{1.12.15.41} [NEI Addons: Developer Tools] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|AppEng{1.12.15.41} [NEI Addons: Applied Energistics 2] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|Botany{1.12.15.41} [NEI Addons: Botany] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|Forestry{1.12.15.41} [NEI Addons: Forestry] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|CraftingTables{1.12.15.41} [NEI Addons: Crafting Tables] (neiaddons-1.12.15.41-mc1.7.10.jar) NEIAddons|ExNihilo{1.12.15.41} [NEI Addons: Ex Nihilo] (neiaddons-1.12.15.41-mc1.7.10.jar) ForgeMultipart{1.2.0.345} [Forge Multipart] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar) OpenComputers{1.8.3} [OpenComputers] (OpenComputers-MC1.7.10-1.8.3+089dd28-universal.jar) scev{0.1.0} [Scalar Evolution] (scev-0.1.0.jar) skinport{1.7.10-v10d} [SkinPort] (SkinPort-1.7.10-v10d.jar) Waila{1.5.10} [Waila] (Waila-1.5.10_1.7.10.jar) WailaHarvestability{1.1.6} [Waila Harvestability] (WailaHarvestability-mc1.7.10-1.1.6.jar) wailaplugins{MC1.7.10-0.2.0-23} [WAILA Plugins] (WAILAPlugins-MC1.7.10-0.2.0-23.jar) XaeroMinimap{21.10.41} [Xaero's Minimap] (Xaeros_Minimap_21.10.41_Forge_1.7.10.jar) XaeroWorldMap{1.14.1.31} [Xaero's World Map] (XaerosWorldMap_1.14.1.31_Forge_1.7.10.jar) McMultipart{1.2.0.345} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar) ForgeMicroblock{1.2.0.345} [Forge Microblocks] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar)

Final Checklist

OvermindDL1 commented 1 month ago

Can definitely confirm that OC Robots cause lighting issues. Even when they exist in world too they are... weird... like the top half of them goes majorly transparent for many frames at a time randomly, it's very weird, but in inventory they darken out everything after (are they leaking GL state?).

LekKit commented 1 month ago

They also apparently affect OpenGL FBO's in some weird way that causes crash on any FBO manipulation afterwards.

LekKit commented 1 month ago

Update with Angelica 1.0.0-beta1:

org.lwjgl.opengl.OpenGLException: Cannot use Buffers when Pixel Unpack Buffer Object is enabled
    at org.lwjgl.opengl.GLChecks.ensureUnpackPBOdisabled(GLChecks.java:119)
    at org.lwjgl.opengl.GL11.glTexSubImage2D(GL11.java:2982)
    at net.minecraft.client.renderer.texture.TextureUtil.uploadTextureSub(TextureUtil.java:187)
    at net.minecraft.client.renderer.texture.TextureUtil.uploadTextureMipmap(TextureUtil.java:170)
    at net.minecraft.client.renderer.texture.TextureAtlasSprite.updateAnimation(TextureAtlasSprite.java:152)
    at net.minecraft.client.renderer.texture.TextureMap.updateAnimations(TextureMap.java:574)
    at net.minecraft.client.renderer.texture.TextureMap.tick(TextureMap.java:430)
    at net.minecraft.client.renderer.texture.TextureManager.tick(TextureManager.java:149)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:1609)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:973)
    at net.minecraft.client.Minecraft.run(Minecraft.java:4110)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

Now I can't play that world at all. Crashes on entering the world:

java.lang.RuntimeException: glCheckFramebufferStatus returned unknown status:0
    at net.minecraft.client.shader.Framebuffer.checkFramebufferComplete(Framebuffer.java:176)
    at net.minecraft.client.shader.Framebuffer.createBindFramebuffer(Framebuffer.java:57)
    at com.gtnewhorizons.angelica.hudcaching.HUDCaching.resetFramebuffer(HUDCaching.java:223)
    at com.gtnewhorizons.angelica.hudcaching.HUDCaching.renderCachedHud(HUDCaching.java:141)
    at net.minecraft.client.renderer.EntityRenderer.redirect$zdh000$angelica$renderCachedHUD(EntityRenderer.java:3568)
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1038)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1001)
    at net.minecraft.client.Minecraft.run(Minecraft.java:4110)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)