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.22k stars 610 forks source link

Crash with stray \ in block.properties #2355

Open gri573 opened 2 weeks ago

gri573 commented 2 weeks ago

Minecraft Version

1.21

Iris Version

iris-1.7.1+mc1.21.jar

Sodium Version

sodium-fabric-0.5.9+mc1.21.jar

Operating System

Linux 6.9.4 with xfce 4.18

What is your GPU?

AMD vega 8

Java Version

Java 21

Reproduction Steps

  1. Have a shader with an escaped newline in block.properties followed by an empty line
  2. Attempt to load the shader
  3. Game Crashes

Crash Report file and latest.log

---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 2024-06-14 22:42:31
Description: Unexpected error

java.lang.IllegalStateException: Failed to get entry for 10684
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.addBlockStates(BlockMaterialMapping.java:134)
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.lambda$createBlockStateIdMap$0(BlockMaterialMapping.java:33)
    at it.unimi.dsi.fastutil.ints.Int2ObjectMap.lambda$forEach$0(Int2ObjectMap.java:249)
    at it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap$MapEntrySet.fastForEach(Int2ObjectLinkedOpenHashMap.java:1520)
    at it.unimi.dsi.fastutil.ints.Int2ObjectMap.forEach(Int2ObjectMap.java:251)
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.createBlockStateIdMap(BlockMaterialMapping.java:30)
    at net.irisshaders.iris.pipeline.IrisRenderingPipeline.beginLevelRendering(IrisRenderingPipeline.java:852)
    at net.minecraft.class_761.handler$zcg000$iris$beginLevelRender(class_761.java:5746)
    at net.minecraft.class_761.method_22710(class_761.java:970)
    at net.minecraft.class_757.method_3188(class_757.java:1087)
    at net.minecraft.class_757.method_3192(class_757.java:850)
    at net.minecraft.class_310.method_1523(class_310.java:1285)
    at net.minecraft.class_310.method_1514(class_310.java:882)
    at net.minecraft.client.main.Main.main(Main.java:256)
    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)
    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: net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: minecraft:=
    at net.minecraft.class_2960.method_45137(class_2960.java:285)
    at net.minecraft.class_2960.method_60936(class_2960.java:48)
    at net.minecraft.class_2960.method_60655(class_2960.java:52)
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.addBlockStates(BlockMaterialMapping.java:132)
    ... 19 more

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

-- Head --
Thread: Render thread
Stacktrace:
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.addBlockStates(BlockMaterialMapping.java:134)
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.lambda$createBlockStateIdMap$0(BlockMaterialMapping.java:33)
    at it.unimi.dsi.fastutil.ints.Int2ObjectMap.lambda$forEach$0(Int2ObjectMap.java:249)
    at it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap$MapEntrySet.fastForEach(Int2ObjectLinkedOpenHashMap.java:1520)
    at it.unimi.dsi.fastutil.ints.Int2ObjectMap.forEach(Int2ObjectMap.java:251)
    at net.irisshaders.iris.shaderpack.materialmap.BlockMaterialMapping.createBlockStateIdMap(BlockMaterialMapping.java:30)
    at net.irisshaders.iris.pipeline.IrisRenderingPipeline.beginLevelRendering(IrisRenderingPipeline.java:852)
    at net.minecraft.class_761.handler$zcg000$iris$beginLevelRender(class_761.java:5746)
    at net.minecraft.class_761.method_22710(class_761.java:970)
    at net.minecraft.class_757.method_3188(class_757.java:1087)

-- Uptime --
Details:
    JVM uptime: 159.412s
    Wall uptime: 147.588s
    High-res time: 146.685s
    Client ticks: 2480 ticks / 124.000s
Stacktrace:
    at net.minecraft.class_310.method_1587(class_310.java:2501)
    at net.minecraft.class_310.method_54580(class_310.java:949)
    at net.minecraft.class_310.method_1514(class_310.java:905)
    at net.minecraft.client.main.Main.main(Main.java:256)
    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)
    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)

-- Affected level --
Details:
    All players: 1 total; [class_746['gri573'/8, l='ClientLevel', x=-1177.88, y=5.26, z=-2129.90]]
    Chunk stats: 1024, 495
    Level dimension: minecraft:overworld
    Level spawn location: World: (-224,74,-128), Section: (at 0,10,0 in -14,4,-8; chunk contains blocks -224,-64,-128 to -209,319,-113), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1)
    Level time: 34535 game time, 34535 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
    Tracked entity count: 112

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: vanilla, fabric, fabric-api-base, fabric-block-view-api-v2, fabric-key-binding-api-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-resource-loader-v0, fabricloader, iris, sodium

-- System Details --
Details:
    Minecraft Version: 1.21
    Minecraft Version ID: 1.21
    Operating System: Linux (amd64) version 6.9.4-arch1-1
    Java Version: 21.0.3, N/A
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
    Memory: 451214632 bytes (430 MiB) / 1199570944 bytes (1144 MiB) up to 2147483648 bytes (2048 MiB)
    CPUs: 16
    Processor Vendor: AuthenticAMD
    Processor Name: AMD Ryzen 7 5700U with Radeon Graphics
    Identifier: AuthenticAMD Family 23 Model 104 Stepping 1
    Microarchitecture: unknown
    Frequency (GHz): -0.00
    Number of physical packages: 1
    Number of physical CPUs: 8
    Number of logical CPUs: 16
    Graphics card #0 name: Lucienne
    Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
    Graphics card #0 VRAM (MiB): 258.00
    Graphics card #0 deviceId: 0x164c
    Graphics card #0 versionInfo: unknown
    Virtual memory max (MiB): 7401.08
    Virtual memory used (MiB): 9818.18
    Swap memory total (MiB): 0.00
    Swap memory used (MiB): 0.00
    Space in storage for jna.tmpdir (MiB): <path not set>
    Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): <path not set>
    Space in storage for io.netty.native.workdir (MiB): <path not set>
    Space in storage for java.io.tmpdir (MiB): available: 7375.49, total: 7401.09
    Space in storage for workdir (MiB): available: 284248.91, total: 479322.19
    JVM Flags: 2 total; -Xms512m -Xmx2048m
    Loaded Shaderpack: Euphoria-Patches
        Profile: Custom (+30 options changed by user)
    Launched Version: 1.21
    Launcher name: PrismLauncher
    Backend library: LWJGL version 3.3.3-snapshot
    Backend API: AMD Radeon Graphics (radeonsi, renoir, LLVM 17.0.6, DRM 3.57, 6.9.4-arch1-1) GL version 4.6 (Core Profile) Mesa 24.1.1-arch1.1, AMD
    Window size: 854x480
    GFLW Platform: x11
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: 
    Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
    Universe: 400921fb54442d18
    Type: Integrated Server (map_client.txt)
    Graphics mode: fancy
    Render Distance: 12/12 chunks
    Resource Packs: vanilla, fabric, fabric-api-base, fabric-block-view-api-v2, fabric-key-binding-api-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-resource-loader-v0, fabricloader, iris, sodium
    Current Language: en_us
    Locale: en_GB
    System encoding: UTF-8
    File encoding: UTF-8
    CPU: 16x AMD Ryzen 7 5700U with Radeon Graphics
    Server Running: true
    Player Count: 1 / 8; [class_3222['gri573'/8, l='ServerLevel[New World]', x=-1177.88, y=5.26, z=-2129.90]]
    Active Data Packs: vanilla, fabric
    Available Data Packs: bundle, fabric, trade_rebalance, vanilla
    Enabled Feature Flags: minecraft:vanilla
    World Generation: Stable
    World Seed: 503853264140160373

Additional context

This is probably related to #1699 . It does not crash with Iris 1.7, but still fails to compile

latest.log