IrisShaders / Iris

A modern shaders mod for Minecraft compatible with existing OptiFine shader packs
https://irisshaders.dev
GNU Lesser General Public License v3.0
3.37k stars 640 forks source link

Client crashes when clicking on Copy Info #2377

Open fnky opened 5 months ago

fnky commented 5 months ago

Minecraft Version

1.20.6

Iris Version

iris-1.7.1+mc1.20.6.jar

Sodium Version

sodium-fabric-0.5.9+mc1.20.6.jar

Operating System

macOS Sonoma 14.3.1

What is your GPU?

Apple M1 Pro

Java Version

Java 21

Reproduction Steps

  1. Use a shader that crashes Iris, but not the game.
  2. See the crash message show up in the game chat image
  3. Click on the link "Copy Info".

Crash Report file and latest.log

---- Minecraft Crash Report ----
// Why is it breaking :(

Time: 2024-06-22 15:33:23
Description: mouseClicked event handler

java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "$$0" is null
    at net.minecraft.class_309.method_1455(class_309.java:517)
    at net.minecraft.class_437.method_25430(class_437.java:302)
    at net.minecraft.class_408.method_25402(class_408.java:148)
    at net.minecraft.class_312.method_1611(class_312.java:101)
    at net.minecraft.class_437.method_25412(class_437.java:467)
    at net.minecraft.class_312.method_1601(class_312.java:101)
    at net.minecraft.class_312.method_22686(class_312.java:186)
    at net.minecraft.class_1255.execute(class_1255.java:108)
    at net.minecraft.class_312.method_22684(class_312.java:186)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3438)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:200)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:218)
    at net.minecraft.class_1041.method_15998(class_1041.java:287)
    at net.minecraft.class_310.method_1523(class_310.java:1342)
    at net.minecraft.class_310.method_1514(class_310.java:888)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at net.minecraft.class_309.method_1455(class_309.java:517)
    at net.minecraft.class_437.method_25430(class_437.java:302)
    at net.minecraft.class_408.method_25402(class_408.java:148)
    at net.minecraft.class_312.method_1611(class_312.java:101)
    at net.minecraft.class_437.method_25412(class_437.java:467)
    at net.minecraft.class_312.method_1601(class_312.java:101)
    at net.minecraft.class_312.method_22686(class_312.java:186)
    at net.minecraft.class_1255.execute(class_1255.java:108)
    at net.minecraft.class_312.method_22684(class_312.java:186)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3438)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:200)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:218)

-- Affected screen --
Details:
    Screen name: net.minecraft.class_408
Stacktrace:
    at net.minecraft.class_437.method_25412(class_437.java:467)
    at net.minecraft.class_312.method_1601(class_312.java:101)
    at net.minecraft.class_312.method_22686(class_312.java:186)
    at net.minecraft.class_1255.execute(class_1255.java:108)
    at net.minecraft.class_312.method_22684(class_312.java:186)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3438)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:200)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:218)
    at net.minecraft.class_1041.method_15998(class_1041.java:287)
    at net.minecraft.class_310.method_1523(class_310.java:1342)
    at net.minecraft.class_310.method_1514(class_310.java:888)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

-- Uptime --
Details:
    JVM uptime: 28.778s
    Wall uptime: 23.108s
    High-res time: 22.349s
    Client ticks: 301 ticks / 15.050s
Stacktrace:
    at net.minecraft.class_310.method_1587(class_310.java:2548)
    at net.minecraft.class_310.method_54580(class_310.java:983)
    at net.minecraft.class_310.method_1514(class_310.java:908)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

-- Affected level --
Details:
    All players: 1 total; [class_746['cnpi'/6, l='ClientLevel', x=28.70, y=87.64, z=240.70]]
    Chunk stats: 16384, 563
    Level dimension: minecraft:overworld
    Level spawn location: World: (0,87,0), Section: (at 0,7,0 in 0,5,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
    Level time: 36966 game time, 15534 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
    Tracked entity count: 106

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: vanilla, fabric, distanthorizons, fabric-api, fabric-api-base, fabric-api-lookup-api-v1, fabric-biome-api-v1, fabric-block-api-v1, fabric-block-view-api-v2, fabric-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, fabric-crash-report-info-v1, fabric-data-attachment-api-v1, fabric-data-generation-api-v1, fabric-dimensions-v1, fabric-entity-events-v1, fabric-events-interaction-v0, fabric-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-message-api-v1, fabric-model-loading-api-v1, fabric-models-v0, fabric-networking-api-v1, fabric-object-builder-api-v1, fabric-particles-v1, fabric-recipe-api-v1, fabric-registry-sync-v0, fabric-renderer-api-v1, fabric-renderer-indigo, fabric-renderer-registries-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-rendering-v0, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-sound-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, indium, iris, sodium, file/Alacrity 1.21 v27, file/Default-Dark-Mode-1.20.3-0.7-000610-colorized-1.6-0.5-000000-9C9FAB-(2024.6.0)

-- System Details --
Details:
    Minecraft Version: 1.20.6
    Minecraft Version ID: 1.20.6
    Operating System: Mac OS X (aarch64) version 14.3.1
    Java Version: 21.0.3, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
    Memory: 642591496 bytes (612 MiB) / 2181038080 bytes (2080 MiB) up to 4294967296 bytes (4096 MiB)
    CPUs: 10
    Processor Vendor: Apple Inc.
    Processor Name: Apple M1 Pro
    Identifier: Apple Inc. Family 0x1b588bb3 Model 0 Stepping 0
    Microarchitecture: ARM64 SoC: Firestorm + Icestorm
    Frequency (GHz): 3.23
    Number of physical packages: 1
    Number of physical CPUs: 10
    Number of logical CPUs: 10
    Graphics card #0 name: Apple M1 Pro
    Graphics card #0 vendor: Apple (0x106b)
    Graphics card #0 VRAM (MB): 0.00
    Graphics card #0 deviceId: unknown
    Graphics card #0 versionInfo: unknown
    Memory slot #0 capacity (MB): 0.00
    Memory slot #0 clockSpeed (GHz): 0.00
    Memory slot #0 type: unknown
    Virtual memory max (MB): 20480.00
    Virtual memory used (MB): 12842.20
    Swap memory total (MB): 4096.00
    Swap memory used (MB): 2728.69
    JVM Flags: 38 total; -XX:ThreadPriorityPolicy=1 -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:-UnlockExperimentalVMOptions -Xmx4G -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=32M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:+PerfDisableSharedMem -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:+UseNUMA -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:NmethodSweepActivity=1 -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:AllocatePrefetchStyle=3 -XX:+AlwaysActAsServerClassMachine -XX:LargePageSizeInBytes=2M -XX:+EagerJVMCI
    Fabric Mods: 
        distanthorizons: Distant Horizons 2.1.0-a
            fabric-api-base: Fabric API Base 0.4.40+80f8cf51ff
            fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.7.6+c5fc38b3ff
            fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.45+80f8cf51ff
            fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.3.4+c5fc38b3ff
            fabric-rendering-v1: Fabric Rendering (v1) 4.2.4+b21c00cbff
            fabric-screen-api-v1: Fabric Screen API (v1) 2.0.21+7b70ea8aff
        fabric-api: Fabric API 0.100.2+1.20.6
            fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.59+e9d2a72bb0
            fabric-biome-api-v1: Fabric Biome API (v1) 13.0.25+be5d88beb0
            fabric-block-api-v1: Fabric Block API (v1) 1.0.20+6dfe4c9bb0
            fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.8+80f8cf51b0
            fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.50+80f8cf51b0
            fabric-client-tags-api-v1: Fabric Client Tags 1.1.12+7f945d5bb0
            fabric-command-api-v1: Fabric Command API (v1) 1.2.45+f71b366fb0
            fabric-command-api-v2: Fabric Command API (v2) 2.2.24+80f8cf51b0
            fabric-commands-v0: Fabric Commands (v0) 0.2.62+df3654b3b0
            fabric-content-registries-v0: Fabric Content Registries (v0) 8.0.6+b82b2392b0
            fabric-convention-tags-v1: Fabric Convention Tags 2.0.7+7f945d5bb0
            fabric-convention-tags-v2: Fabric Convention Tags (v2) 2.1.3+f4bfb622b0
            fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.27+80f8cf51b0
            fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.1.17+2a2c66b6b0
            fabric-data-generation-api-v1: Fabric Data Generation API (v1) 19.2.3+a5d5299db0
            fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.68+94793913b0
            fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.8+e9d2a72bb0
            fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.50+80f8cf51b0
            fabric-item-api-v1: Fabric Item API (v1) 8.2.3+6e5bbc4ab0
            fabric-item-group-api-v1: Fabric Item Group API (v1) 4.1.1+f4bfb622b0
            fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.43+df3654b3b0
            fabric-loot-api-v2: Fabric Loot API (v2) 3.0.6+97f703dab0
            fabric-message-api-v1: Fabric Message API (v1) 6.0.11+a7dc0e41b0
            fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.12+80f8cf51b0
            fabric-models-v0: Fabric Models (v0) 0.4.11+9386d8a7b0
            fabric-networking-api-v1: Fabric Networking API (v1) 4.2.0+a916f7c5b0
            fabric-object-builder-api-v1: Fabric Object Builder API (v1) 15.1.5+c5fc38b3b0
            fabric-particles-v1: Fabric Particles (v1) 4.0.0+c5fc38b3b0
            fabric-recipe-api-v1: Fabric Recipe API (v1) 5.0.5+c5fc38b3b0
            fabric-registry-sync-v0: Fabric Registry Sync (v0) 5.0.18+a916f7c5b0
            fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.12+97f703dab0
            fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.14+41791025b0
            fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.61+df3654b3b0
            fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.46+73761d2eb0
            fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.1.3+2c869dedb0
            fabric-rendering-v0: Fabric Rendering (v0) 1.1.64+df3654b3b0
            fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 4.2.0+a5d5299db0
            fabric-resource-loader-v0: Fabric Resource Loader (v0) 1.1.1+f4bfb622b0
            fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.75+8c7b71c2b0
            fabric-sound-api-v1: Fabric Sound API (v1) 1.0.21+c5fc38b3b0
            fabric-transfer-api-v1: Fabric Transfer API (v1) 5.1.6+c5fc38b3b0
            fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 6.0.10+74e2f560b0
        fabricloader: Fabric Loader 0.15.11
            mixinextras: MixinExtras 0.3.5
        indium: Indium 1.0.32+mc1.20.1
        iris: Iris 1.7.1+mc1.20.6
            io_github_douira_glsl-transformer: glsl-transformer 2.0.1
            org_anarres_jcpp: jcpp 1.4.14
            org_antlr_antlr4-runtime: antlr4-runtime 4.13.1
        java: Java HotSpot(TM) 64-Bit Server VM 21
        minecraft: Minecraft 1.20.6
        sodium: Sodium 0.5.9+mc1.20.6
    Loaded Shaderpack: photon (fallback)
        Profile: Custom (+29 options changed by user)
    Launched Version: fabric-loader-0.15.11-1.20.6
    Launcher name: minecraft-launcher
    Backend library: LWJGL version 3.3.3-snapshot
    Backend API: Apple M1 Pro GL version 4.1 Metal - 88, Apple
    Window size: 2448x1632
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: <disabled>
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
    Universe: 400921fb54442d18
    Type: Integrated Server (map_client.txt)
    GPU Warnings: version: Metal
    Graphics mode: fancy
    Render Distance: 32/32 chunks
    Resource Packs: vanilla, fabric, distanthorizons (incompatible), fabric-api, fabric-api-base, fabric-api-lookup-api-v1, fabric-biome-api-v1, fabric-block-api-v1, fabric-block-view-api-v2, fabric-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, fabric-crash-report-info-v1, fabric-data-attachment-api-v1, fabric-data-generation-api-v1, fabric-dimensions-v1, fabric-entity-events-v1, fabric-events-interaction-v0, fabric-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-message-api-v1, fabric-model-loading-api-v1, fabric-models-v0, fabric-networking-api-v1, fabric-object-builder-api-v1, fabric-particles-v1, fabric-recipe-api-v1, fabric-registry-sync-v0, fabric-renderer-api-v1, fabric-renderer-indigo, fabric-renderer-registries-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-rendering-v0, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-sound-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, indium, iris, sodium, file/Alacrity 1.21 v27, file/Default-Dark-Mode-1.20.3-0.7-000610-colorized-1.6-0.5-000000-9C9FAB-(2024.6.0)
    Current Language: en_us
    Locale: en_AT
    CPU: 10x Apple M1 Pro
    Server Running: true
    Player Count: 1 / 8; [class_3222['cnpi'/6, l='ServerLevel[neue]', x=28.70, y=87.64, z=240.70]]
    Active Data Packs: vanilla, fabric, fabric-convention-tags-v2
    Available Data Packs: bundle, fabric, fabric-convention-tags-v2, trade_rebalance, update_1_21, vanilla
    Enabled Feature Flags: minecraft:vanilla
    World Generation: Stable
    World Seed: 347402233778769152

Additional context

fnky commented 5 months ago

Although I was able to enable debug to get the actual crash info, without debugging enabled this crash still persists.

The shader crash was caused by a null pointer exception. Not sure if this is an issue with Iris or photon, but I assume the latter.

java.lang.NullPointerException
    at org.lwjgl.system.Checks.check(Checks.java:188)
    at org.lwjgl.opengl.GL44C.glClearTexImage(GL44C.java:1126)
    at org.lwjgl.opengl.ARBClearTexture.glClearTexImage(ARBClearTexture.java:331)
    at net.irisshaders.iris.gl.image.GlImage.setup(GlImage.java:69)
    at net.irisshaders.iris.gl.image.GlImage.<init>(GlImage.java:45)
    at net.irisshaders.iris.pipeline.IrisRenderingPipeline.<init>(IrisRenderingPipeline.java:233)
    at net.irisshaders.iris.Iris.createPipeline(Iris.java:578)
    at net.irisshaders.iris.pipeline.PipelineManager.preparePipeline(PipelineManager.java:33)
    at net.irisshaders.iris.Iris.reload(Iris.java:529)
    at net.irisshaders.iris.apiimpl.IrisApiV0ConfigImpl.setShadersEnabledAndApply(IrisApiV0ConfigImpl.java:28)
    at net.irisshaders.iris.gui.screen.ShaderPackScreen.applyChanges(ShaderPackScreen.java:627)
    at net.irisshaders.iris.gui.screen.ShaderPackScreen.lambda$init$6(ShaderPackScreen.java:265)
    at net.minecraft.class_4185.method_25306(class_4185.java:96)
    at net.minecraft.class_4264.method_25348(class_4264.java:48)
    at net.minecraft.class_339.method_25402(class_339.java:141)
    at net.minecraft.class_4069.method_25402(class_4069.java:38)
    at net.irisshaders.iris.gui.screen.ShaderPackScreen.method_25402(ShaderPackScreen.java:226)
    at net.minecraft.class_312.method_1611(class_312.java:101)
    at net.minecraft.class_437.method_25412(class_437.java:467)
    at net.minecraft.class_312.method_1601(class_312.java:101)
    at net.minecraft.class_312.method_22686(class_312.java:186)
    at net.minecraft.class_1255.execute(class_1255.java:108)
    at net.minecraft.class_312.method_22684(class_312.java:186)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3438)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:200)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:218)
    at net.minecraft.class_1041.method_15998(class_1041.java:287)
    at net.minecraft.class_310.method_1523(class_310.java:1342)
    at net.minecraft.class_310.method_1514(class_310.java:888)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)