TheCBProject / CodeChickenLib

GNU Lesser General Public License v2.1
110 stars 55 forks source link

AMD gpu crashes with EnderStorage client shaders #426

Closed Raidobw2 closed 1 year ago

Raidobw2 commented 1 year ago

A user came into the FTB Discord for help on the modpack FTB Stoneblock 3. The modpack contains these versions: Minecraft 1.18.2 Forge 40.1.92 CodeChickenLib-1.18.2-4.1.2.475-universal.jar (latest) EnderStorage-1.18.2-2.9.0.182-universal.jar (latest)

A crash occurs when joining a world, either it be singleplayer or multiplayer. This doesn't print a normal crash report, but a "hs_err_pid" file.

Here is the relevant stacktrace from the crash with the faulty module. I do not know which GPU model exactly is being used (but it's AMD, the model is not written inside the crash).

Click for snippet

``` Host: AMD Ryzen 7 3700X 8-Core Processor , 16 cores, 15G, Windows 11 , 64 bit Build 22621 (10.0.22621.963) Time: Sat Dec 24 19:50:42 2022 Windows 11 , 64 bit Build 22621 (10.0.22621.963) elapsed time: 265.731573 seconds (0d 0h 4m 25s) --------------- T H R E A D --------------- Current thread (0x00000186c0680b70): JavaThread "Render thread" [_thread_in_native, id=5516, stack(0x0000006c62c00000,0x0000006c62d00000)] Stack: [0x0000006c62c00000,0x0000006c62d00000], sp=0x0000006c62cf7c38, free space=991k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [atio6axx.dll+0x1f6f4c5] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J 32027 org.lwjgl.opengl.GL20C.nglShaderSource(IIJJ)V org.lwjgl.opengl (0 bytes) @ 0x00000186d0377876 [0x00000186d0377820+0x0000000000000056] j org.lwjgl.opengl.GL20C.glShaderSource(ILjava/lang/CharSequence;)V+38 org.lwjgl.opengl j org.lwjgl.opengl.GL20.glShaderSource(ILjava/lang/CharSequence;)V+2 org.lwjgl.opengl j codechicken.lib.render.shader.CCShaderInstance.compileProgram(Lnet/minecraft/server/packs/resources/ResourceProvider;Lcom/mojang/blaze3d/shaders/Program$Type;Lnet/minecraft/resources/ResourceLocation;)Lcom/mojang/blaze3d/shaders/Program;+90 codechickenlib@4.1.2.475 j net.minecraft.client.renderer.ShaderInstance.redirect$zhm000$onGetOrCreate(Lnet/minecraft/server/packs/resources/ResourceProvider;Lcom/mojang/blaze3d/shaders/Program$Type;Ljava/lang/String;)Lcom/mojang/blaze3d/shaders/Program;+33 minecraft@1.18.2 J 32017 c1 net.minecraft.client.renderer.ShaderInstance.(Lnet/minecraft/server/packs/resources/ResourceProvider;Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/blaze3d/vertex/VertexFormat;)V minecraft@1.18.2 (839 bytes) @ 0x00000186c9d7b90c [0x00000186c9d74da0+0x0000000000006b6c] j codechicken.lib.render.shader.CCShaderInstance.(Lnet/minecraft/server/packs/resources/ResourceProvider;Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/blaze3d/vertex/VertexFormat;)V+4 codechickenlib@4.1.2.475 j codechicken.lib.render.shader.CCShaderInstance.create(Lnet/minecraft/server/packs/resources/ResourceProvider;Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/blaze3d/vertex/VertexFormat;)Lcodechicken/lib/render/shader/CCShaderInstance;+7 codechickenlib@4.1.2.475 j codechicken.enderstorage.client.Shaders.onRegisterShaders(Lnet/minecraftforge/client/event/RegisterShadersEvent;)V+19 enderstorage@2.9.0.182 j codechicken.enderstorage.client.Shaders$$Lambda$12421+0x0000000802591740.accept(Ljava/lang/Object;)V+4 enderstorage@2.9.0.182 J 29843 c2 net.minecraftforge.eventbus.EventBus$$Lambda$4879+0x0000000801944248.invoke(Lnet/minecraftforge/eventbus/api/Event;)V eventbus@5.0.3 (21 bytes) @ 0x00000186cf80f5a0 [0x00000186cf80f520+0x0000000000000080] J 29893 c2 net.minecraftforge.eventbus.EventBus.post(Lnet/minecraftforge/eventbus/api/Event;Lnet/minecraftforge/eventbus/api/IEventBusInvokeDispatcher;)Z eventbus@5.0.3 (161 bytes) @ 0x00000186d00cd944 [0x00000186d00ccec0+0x0000000000000a84] J 19489 c2 net.minecraftforge.fml.ModLoader$$Lambda$18652+0x0000000801a1d138.accept(Ljava/lang/Object;Ljava/lang/Object;)V fmlcore@1.18.2-40.1.92 (16 bytes) @ 0x00000186cf89c590 [0x00000186cf89c480+0x0000000000000110] J 23682 c2 java.util.HashMap.forEach(Ljava/util/function/BiConsumer;)V java.base@17.0.2 (112 bytes) @ 0x00000186cfb2d69c [0x00000186cfb2d5a0+0x00000000000000fc] j net.minecraftforge.fml.ModList.forEachModContainer(Ljava/util/function/BiConsumer;)V+5 fmlcore@1.18.2-40.1.92 j net.minecraftforge.fml.ModLoader.postEvent(Lnet/minecraftforge/eventbus/api/Event;)V+35 fmlcore@1.18.2-40.1.92 j net.minecraft.client.renderer.GameRenderer.m_172767_(Lnet/minecraft/server/packs/resources/ResourceManager;)V+1645 minecraft@1.18.2 j net.minecraft.client.renderer.GameRenderer.m_6213_(Lnet/minecraft/server/packs/resources/ResourceManager;)V+2 minecraft@1.18.2 j net.minecraft.server.packs.resources.ResourceManagerReloadListener.m_10759_(Lnet/minecraft/util/profiling/ProfilerFiller;Lnet/minecraft/server/packs/resources/ResourceManager;)V+16 minecraft@1.18.2 j net.minecraft.server.packs.resources.ResourceManagerReloadListener$$Lambda$24160+0x00000008038e6000.run()V+12 minecraft@1.18.2 j java.util.concurrent.CompletableFuture$UniRun.tryFire(I)Ljava/util/concurrent/CompletableFuture;+96 java.base@17.0.2 ```

Compilation events if useful:

Click for snippet

``` Compilation events (20 events): Event: 265.552 Thread 0x00000186ee02bd90 32031 ! 3 org.lwjgl.opengl.GL20C::glGetShaderi (52 bytes) Event: 265.553 Thread 0x00000186ee02bd90 nmethod 32031 0x00000186c9875610 code [0x00000186c9875880, 0x00000186c9876528] Event: 265.553 Thread 0x00000186ee02bd90 32033 3 com.mojang.blaze3d.shaders.Program:: (20 bytes) Event: 265.553 Thread 0x00000186ee02bd90 nmethod 32033 0x00000186c9bcb790 code [0x00000186c9bcb940, 0x00000186c9bcbb78] Event: 265.569 Thread 0x00000186ee02bd90 32034 3 com.mojang.blaze3d.shaders.Program::m_166612_ (100 bytes) Event: 265.570 Thread 0x00000186ee02bd90 nmethod 32034 0x00000186c962a490 code [0x00000186c962a820, 0x00000186c962bd58] Event: 265.570 Thread 0x00000186ee02bd90 32035 ! 3 com.mojang.blaze3d.platform.TextureUtil::m_85311_ (63 bytes) Event: 265.570 Thread 0x00000186ee02bd90 nmethod 32035 0x00000186c86e4690 code [0x00000186c86e4960, 0x00000186c86e5888] Event: 265.570 Thread 0x00000186ee02bd90 32036 3 com.mojang.blaze3d.platform.GlStateManager::m_84447_ (8 bytes) Event: 265.571 Thread 0x00000186ee02bd90 nmethod 32036 0x00000186c869d810 code [0x00000186c869d9e0, 0x00000186c869ddf8] Event: 265.571 Thread 0x00000186ee02bd90 32037 3 com.mojang.blaze3d.preprocessor.GlslPreprocessor::m_166461_ (45 bytes) Event: 265.571 Thread 0x00000186ee02bd90 nmethod 32037 0x00000186c869cd90 code [0x00000186c869cf80, 0x00000186c869d4d8] Event: 265.571 Thread 0x00000186ee02bd90 32038 3 com.mojang.blaze3d.preprocessor.GlslPreprocessor$Context:: (5 bytes) Event: 265.571 Thread 0x00000186ee02bd90 nmethod 32038 0x00000186c96cca90 code [0x00000186c96ccc20, 0x00000186c96ccd78] Event: 265.588 Thread 0x00000186ee02bd90 32039 3 org.apache.commons.io.FilenameUtils::indexOfLastSeparator (26 bytes) Event: 265.589 Thread 0x00000186ee02bd90 nmethod 32039 0x00000186c96cbc10 code [0x00000186c96cbe60, 0x00000186c96cc738] Event: 265.650 Thread 0x00000186ee02bd90 32040 3 net.minecraftforge.client.event.RegisterShadersEvent::getListenerList (4 bytes) Event: 265.650 Thread 0x00000186ee02bd90 nmethod 32040 0x00000186c974f410 code [0x00000186c974f5a0, 0x00000186c974f6b8] Event: 265.665 Thread 0x00000186ee02bd90 32041 3 org.apache.commons.io.FilenameUtils::doGetFullPath (81 bytes) Event: 265.666 Thread 0x00000186ee02bd90 nmethod 32041 0x00000186c8bdc610 code [0x00000186c8bdc8a0, 0x00000186c8bdd318] ```

I did not find a way to disable shaders in CCL or EnderStorage, maybe modifying the mixins file in CCL and removing ShaderInstanceMixin could "solve" this. I'll try and add more info on that topic and confirm if that works for the user.

More info: Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.2+8 (FTB App recommended) -Xmx8704M I've asked the user check for an update to their graphics card's driver, as well as the model, I will try and report back with more info Thanks and have happy holidays (if you celebrate) and new year in advance 🙂

Raidobw2 commented 1 year ago

The user confirmed that changing the FlyWheel configuration solved this crash. For reference: https://github.com/FTBTeam/FTB-Modpack-Issues/issues/2404#issuecomment-1364625915 https://github.com/Jozufozu/Flywheel/issues/166

This seems to happen on Windows 11 systems with AMD graphics cards such as RX 5700 XT. You can disregard this ticket, I believe this might be an issue on FlyWheel's end!