maruohon / litematica

A modern client-side schematic mod for Minecraft
GNU Lesser General Public License v3.0
728 stars 219 forks source link

ConcurrentModificationException in Fabric 1.14.4 #69

Open Kermalis opened 5 years ago

Kermalis commented 5 years ago

Hello, me again. This crash came immediately after turning on all rendering with my hotkey. I've used it hundreds or thousands of times before and this is the first time that toggling has crashed. Here's the report:


---- Minecraft Crash Report ----
// I let you down. Sorry :(

Time: 8/29/19 7:07 PM
Description: Unexpected error

java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    at java.util.ArrayList$Itr.next(ArrayList.java:851)
    at fi.dy.masa.litematica.render.schematic.WorldRendererSchematic.renderEntities(WorldRendererSchematic.java:796)
    at fi.dy.masa.litematica.render.LitematicaRenderer.piecewiseRenderEntities(LitematicaRenderer.java:444)
    at net.minecraft.class_761.handler$onPostRenderEntities$zbe000(class_761.java:3297)
    at net.minecraft.class_761.method_3271(class_761.java:1034)
    at net.minecraft.class_757.method_3178(class_757.java:1207)
    at net.minecraft.class_757.method_3188(class_757.java:1032)
    at net.minecraft.class_757.method_3192(class_757.java:792)
    at net.minecraft.class_310.method_1523(class_310.java:954)
    at net.minecraft.class_310.method_1514(class_310.java:410)
    at net.minecraft.client.main.Main.main(Main.java:155)
    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:497)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:170)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:129)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

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

-- Head --
Thread: Client thread
Stacktrace:
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    at java.util.ArrayList$Itr.next(ArrayList.java:851)
    at fi.dy.masa.litematica.render.schematic.WorldRendererSchematic.renderEntities(WorldRendererSchematic.java:796)
    at fi.dy.masa.litematica.render.LitematicaRenderer.piecewiseRenderEntities(LitematicaRenderer.java:444)
    at net.minecraft.class_761.handler$onPostRenderEntities$zbe000(class_761.java:3297)
    at net.minecraft.class_761.method_3271(class_761.java:1034)
    at net.minecraft.class_757.method_3178(class_757.java:1207)
    at net.minecraft.class_757.method_3188(class_757.java:1032)

-- Affected level --
Details:
    All players: 2 total; [class_746['Kermalis'/23092, l='MpServer', x=3090.93, y=67.00, z=264.88], class_745['tukku473'/18115, l='MpServer', x=3081.50, y=73.56, z=243.54]]
    Chunk stats: Client Chunk Cache: 529, 324
    Level dimension: minecraft:overworld
    Level name: MpServer
    Level seed: 0
    Level generator: ID 00 - default, ver 1. Features enabled: false
    Level generator options: {}
    Level spawn location: World: (-16,64,48), Chunk: (at 0,4,0 in -1,3; contains blocks -16,0,48 to -1,255,63), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
    Level time: 23656819 game time, 28134932 day time
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
    Server brand: vanilla
    Server type: Non-integrated multiplayer server
Stacktrace:
    at net.minecraft.class_638.method_8538(class_638.java:574)
    at net.minecraft.class_310.method_1587(class_310.java:1923)
    at net.minecraft.class_310.method_1514(class_310.java:430)
    at net.minecraft.client.main.Main.main(Main.java:155)
    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:497)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:170)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:129)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

-- System Details --
Details:
    Minecraft Version: 1.14.4
    Minecraft Version ID: 1.14.4
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 1805243792 bytes (1721 MB) / 4060086272 bytes (3872 MB) up to 4294967296 bytes (4096 MB)
    CPUs: 8
    JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Launched Version: fabric-loader-0.4.8+build.157-1.14.4
    LWJGL: 3.2.2 build 10
    OpenGL: GeForce GTX 960M/PCIe/SSE2 GL version 4.6.0 NVIDIA 436.02, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Type: Client (map_client.txt)
    Resource Packs: vanilla, file/JUM.zip, file/BrothersJohnsonUnshaders.zip (incompatible)
    Current Language: English (US)
    CPU: 8x Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz```
SunSerega commented 5 years ago

Upload a world and say coordinates at which turning on rendering crashes the game.

Kermalis commented 5 years ago

I actually didn't move when I logged back in (because of your reply, I wanted to test just in case) and tried to toggle rendering again, and it didn't crash. I wouldn't say a specific world or position causes it because it's a concurrent exception, which is caused by multi-threading issues and will be hard to reproduce (see how many times I've toggled rendering on and off before receiving this issue for the first time) Despite being hard to reproduce, it might not be hard to pinpoint the cause because of the stack trace

Andrews54757 commented 4 years ago

@maruohon Just got the error today:

---- Minecraft Crash Report ----
// Why did you do that?

Time: 12/5/19 5:49 PM
Description: Unexpected error

java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    at java.util.ArrayList$Itr.next(ArrayList.java:851)
    at fi.dy.masa.litematica.render.schematic.WorldRendererSchematic.renderEntities(WorldRendererSchematic.java:796)
    at fi.dy.masa.litematica.render.LitematicaRenderer.piecewiseRenderEntities(LitematicaRenderer.java:444)
    at net.minecraft.class_761.handler$onPostRenderEntities$zlf000(class_761.java:3797)
    at net.minecraft.class_761.method_3271(class_761.java:706)
    at net.minecraft.class_757.redirect$renderEntitiesNoShake$zke000(class_757.java:1904)
    at net.minecraft.class_757.method_3178(class_757.java:859)
    at net.minecraft.class_757.method_3188(class_757.java:766)
    at net.minecraft.class_757.method_3192(class_757.java:630)
    at net.minecraft.class_310.method_1523(class_310.java:954)
    at net.minecraft.class_310.method_1514(class_310.java:410)
    at net.minecraft.client.main.Main.main(Main.java:155)
    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.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:188)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:131)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

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

-- Head --
Thread: Client thread
Stacktrace:
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    at java.util.ArrayList$Itr.next(ArrayList.java:851)
    at fi.dy.masa.litematica.render.schematic.WorldRendererSchematic.renderEntities(WorldRendererSchematic.java:796)
    at fi.dy.masa.litematica.render.LitematicaRenderer.piecewiseRenderEntities(LitematicaRenderer.java:444)
    at net.minecraft.class_761.handler$onPostRenderEntities$zlf000(class_761.java:3797)
    at net.minecraft.class_761.method_3271(class_761.java:706)
    at net.minecraft.class_757.redirect$renderEntitiesNoShake$zke000(class_757.java:1904)
    at net.minecraft.class_757.method_3178(class_757.java:859)
    at net.minecraft.class_757.method_3188(class_757.java:766)

-- Affected level --
Details:
    All players: 1 total; [class_746['[censored]'/392811, l='MpServer', x=5189.45, y=176.95, z=5256.83]]
    Chunk stats: Client Chunk Cache: 1521, 1155
    Level dimension: minecraft:overworld
    Level name: MpServer
    Level seed: 0
    Level generator: ID 00 - default, ver 1. Features enabled: false
    Level generator options: {}
    Level spawn location: World: (-167,105,-102), Chunk: (at 9,6,10 in -11,-7; contains blocks -176,0,-112 to -161,255,-97), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
    Level time: 159870266 game time, 1972023 day time
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Server brand: vanilla
    Server type: Non-integrated multiplayer server
Stacktrace:
    at net.minecraft.class_638.method_8538(class_638.java:421)
    at net.minecraft.class_310.method_1587(class_310.java:1923)
    at net.minecraft.class_310.method_1514(class_310.java:430)
    at net.minecraft.client.main.Main.main(Main.java:155)
    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.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:188)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:131)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

-- System Details --
Details:
    Minecraft Version: 1.14.4
    Minecraft Version ID: 1.14.4
    Operating System: Mac OS X (x86_64) version 10.14.6
    Java Version: 1.8.0_74, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 693160000 bytes (661 MB) / 1610612736 bytes (1536 MB) up to 2147483648 bytes (2048 MB)
    CPUs: 4
    JVM Flags: 8 total; -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Fabric Mods: 
        carpet: Carpet Mod in Fabric 1.2.4
        fabric: Fabric API 0.4.1+build.245-1.14
        fabric-api-base: Fabric API Base 0.1.1+2ac73e7242
        fabric-biomes-v1: Fabric Biomes (v1) 0.1.0+591e97ae42
        fabric-commands-v0: Fabric Commands (v0) 0.1.1+591e97ae42
        fabric-containers-v0: Fabric Containers (v0) 0.1.2+591e97ae42
        fabric-content-registries-v0: Fabric Content Registries (v0) 0.1.1+591e97ae42
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.1+591e97ae42
        fabric-dimensions-v1: fabric-dimensions-v1 0.1.0+369ab22e42
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.1.1+591e97ae42
        fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.1.1+591e97ae42
        fabric-item-groups-v0: Fabric Item Groups (v0) 0.1.0+591e97ae42
        fabric-keybindings-v0: Fabric Key Bindings (v0) 0.1.1+591e97ae42
        fabric-loot-tables-v1: Fabric Loot Tables (v1) 0.1.0+591e97ae42
        fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.0+591e97ae42
        fabric-models-v0: Fabric Models (v0) 0.1.0+591e97ae42
        fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.0+c877038942
        fabric-networking-v0: Fabric Networking (v0) 0.1.3+591e97ae42
        fabric-object-builders-v0: Fabric Object Builders (v0) 0.1.1+591e97ae42
        fabric-particles-v1: fabric-particles-v1 0.1.1+c877038942
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.2.2+591e97ae42
        fabric-renderer-api-v1: Fabric Renderer API (v1) 0.1.1+591e97ae42
        fabric-renderer-indigo: Fabric Renderer - Indigo 0.1.13+591e97ae42
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.1+c877038942
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.2+36f27aa342
        fabric-rendering-v0: Fabric Rendering (v0) 0.1.1+591e97ae42
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.1.3+591e97ae42
        fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 0.1.1+591e97ae42
        fabric-textures-v0: Fabric Textures (v0) 0.1.4+591e97ae42
        fabricloader: Fabric Loader 0.6.3+build.168
        litematica: Litematica 0.0.0-dev.20191205.170637
        malilib: MaLiLib 0.10.0-dev.20
        minecraft: Minecraft 1.14.4
    Launched Version: fabric-loader-0.6.3+build.168-1.14.4
    LWJGL: 3.2.1 build 12
    OpenGL: Intel(R) Iris(TM) Graphics 6100 GL version 2.1 INTEL-12.10.14, Intel Inc.
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because ARB_framebuffer_object is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Type: Client (map_client.txt)
    Resource Packs: 
    Current Language: English (US)
    CPU: 4x Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz