KilnGraphics / Blaze4D

Minecraft but with Vulkan.
GNU Lesser General Public License v3.0
270 stars 12 forks source link

crash on startup (IndexOutOfBoundsException) #63

Closed rhjdvsgsgks closed 2 years ago

rhjdvsgsgks commented 2 years ago

version: 063117131601ae82ad750edb528e185b2397585d (download from action) Minecraft Version: 1.17.1 fabric version: 0.12.5 Fabric Language Kotlin version: 1.7.0+kotlin.1.6.0 java version: openj9 16.0.2b7_openj9_0.27.0-1 mesa version: df005c2a65f linux 5.15.3 uhd620

java.lang.IndexOutOfBoundsException: Index (4) is greater than or equal to list size (4)
    at it.unimi.dsi.fastutil.longs.LongArrayList.getLong(LongArrayList.java:267) ~[fastutil-8.2.1.jar:?]
    at graphics.kiln.rosella.render.renderer.Renderer.bindInstanceDescriptorSets(Renderer.java:379) ~[graphics_kiln_rosella-1.2.0-SNAPSHOT-27af29ce5fffea21.jar:?]
    at graphics.kiln.rosella.render.renderer.Renderer.rebuildCommandBuffers(Renderer.java:342) ~[graphics_kiln_rosella-1.2.0-SNAPSHOT-27af29ce5fffea21.jar:?]
    at graphics.kiln.rosella.render.renderer.Renderer.rebuildCommandBuffers(Renderer.java:269) ~[graphics_kiln_rosella-1.2.0-SNAPSHOT-27af29ce5fffea21.jar:?]
    at graphics.kiln.blaze4d.impl.GlobalRenderSystem.render(GlobalRenderSystem.java:140) ~[blaze4d-1.0.0-SNAPSHOT.jar:?]
    at net.minecraft.class_310.handler$zzm000$renderFrame(class_310.java:3046) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1125) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:728) [intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:217) [intermediary-minecraft-1.17.1-client.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:568) [fabric-loader-0.12.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.12.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.12.5.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
rhjdvsgsgks commented 2 years ago

after applying patch from https://discord.com/channels/860320568318099496/860358467776151552/884647141673431081

    private void bindInstanceDescriptorSets(InstanceInfo instanceInfo, VkCommandBuffer commandBuffer, int commandBufferIndex) {
        LongArrayList sets = instanceInfo.ubo().getDescriptors().getRawDescriptorSets();

        if(commandBufferIndex >= sets.size()) {
            System.err.println("how???");
            return;
        }

        try (MemoryStack stack = MemoryStack.stackPush()) {
            vkCmdBindDescriptorSets(
                    commandBuffer,
                    VK_PIPELINE_BIND_POINT_GRAPHICS,
                    instanceInfo.material().pipeline().getPipelineLayout(),
                    0,
                    stack.longs(sets.getLong(commandBufferIndex)), // FIXME: the descriptor set list is sometimes not updated before this is called
                    null
            );
        }
    }
[Render thread/INFO] (Minecraft) [STDERR]: how???
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000018 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000001
Handler1=00007FDF6F840560 Handler2=00007FDF6F429BA0 InaccessibleAddress=0000000000000070
RDI=00007FDF4A100020 RSI=00007FDF72BBC328 RAX=0000000000000000 RBX=0000000000000000
RCX=00007FDF71462898 RDX=0000000040000000 R8=00007FDF751FDEF0 R9=00000000000000FF
R10=00007FDF4A100020 R11=0000000000000020 R12=00007FDF714625E0 R13=00007FDF72BBB760
R14=0000000000000000 R15=00007FDF490B54E0
RIP=00007FDF48CCE1E7 GS=0000 FS=0000 RSP=00007FDF751FDEC0
EFlags=0000000000010203 CS=0033 RBP=00007FDF751FDF70 ERR=0000000000000004
TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=0000000000000070
xmm0 0000002000000020 (f: 32.000000, d: 6.790387e-313)
xmm1 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm3 78510009ffffffff (f: 4294967296.000000, d: 3.592435e+271)
xmm4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm5 000400061f800803 (f: 528484352.000000, d: 5.562815e-309)
xmm6 8010084478140000 (f: 2014576640.000000, d: -2.229565e-308)
xmm7 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm8 0000000030600840 (f: 811599936.000000, d: 4.009836e-315)
xmm9 000000003f800000 (f: 1065353216.000000, d: 5.263544e-315)
xmm10 0000000043d58000 (f: 1138065408.000000, d: 5.622790e-315)
xmm11 0000000044554000 (f: 1146437632.000000, d: 5.664154e-315)
xmm12 0000000042888889 (f: 1116244096.000000, d: 5.514979e-315)
xmm13 00000000c2197ae7 (f: 3256449792.000000, d: 1.608900e-314)
xmm14 000000003f800000 (f: 1065353216.000000, d: 5.263544e-315)
xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/usr/lib/libvulkan_intel.so
Module_base_address=00007FDF48BBA000
Target=2_90_20220128_115 (Linux 5.16.16-xanmod1-1)
CPU=amd64 (8 logical CPUs) (0x1e9773000 RAM)
----------- Stack Backtrace -----------
(0x00007FDF48CCE1E7 [libvulkan_intel.so+0x1141e7])
(0x00007FDF48CCE65D [libvulkan_intel.so+0x11465d])
(0x00007FDF48CD0A9C [libvulkan_intel.so+0x116a9c])
(0x00007FDF48CD3906 [libvulkan_intel.so+0x119906])
(0x00007FDF5135E2B0 [<unknown>+0x0])
---------------------------------------