RakambdaOrg / FallingTree

Minecraft mod to make the trees fall in one cut
https://www.curseforge.com/minecraft/mc-mods/falling-tree
GNU Lesser General Public License v3.0
80 stars 32 forks source link

Crash caused by trying to break a tree with a tool through a tall grass #180

Closed MobButcher closed 3 years ago

MobButcher commented 3 years ago

Describe the bug

The crash happens when the player aims at a log block through a transparent block without a collision box that breaks instantly and tries to break the trunk of the tree through it.

Expected result: Trying to start breaking the log the transparent block breaks normally and "transfers" the breaking action target to the tree.

Actual result: The game freezes exactly at the moment the action is attempted. without rendering another frame or emitting a sound; stays frozen for about 1.5 seconds, and then crashes in a way that allows Not Enough Crashes to catch that.

Crash log link: (duplicated below for posterity) https://gist.githubusercontent.com/natanfudge/53fca953701a45a019cfaae57a7c09d3/raw/52d79590c7c556a701d3a9bbb0dbfe5928335a60/crash.txt

P.S.: Consider adding "Expected result" and "Actual result" fields to the issue forms.

Minecraft version

1.17.1

Fabric API version

0.37.0

Mod version

2.12.2

Relevant log output

---- Minecraft Crash Report ----
// Shall we play a game?

Time: 8/6/21, 12:20 AM
Description: Unexpected error

java.util.ConcurrentModificationException
    at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.31)
    at java.util.HashMap.compute(HashMap.java:1321)
    at net.minecraft.block.AbstractBlock.handler$cjm000$calcBlockBreakingDelta(AbstractBlock:1532)
    at net.minecraft.block.AbstractBlock.calcBlockBreakingDelta(AbstractBlock:378)
    at net.minecraft.block.AbstractBlock$AbstractBlockState.calcBlockBreakingDelta(AbstractBlock:794)
    at net.minecraft.client.network.ClientPlayerInteractionManager.attackBlock(ClientPlayerInteractionManager:175)
    at net.minecraft.client.network.ClientPlayerInteractionManager.updateBlockBreakingProgress(ClientPlayerInteractionManager:258)
    at net.minecraft.client.MinecraftClient.handleBlockBreaking(MinecraftClient:1553)
    at net.minecraft.client.MinecraftClient.handleInputEvents(MinecraftClient:1911)
    at net.minecraft.client.MinecraftClient.tick(MinecraftClient:1728)
    at net.minecraft.client.MinecraftClient.render(MinecraftClient:1081)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient:728)
    at net.minecraft.client.main.Main.main(Main:217)
    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.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
    at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
    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:196)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)

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

-- Head --
Thread: Render thread
Stacktrace:
    at java.base/java.util.HashMap.compute(HashMap.java:1321)
    at net.minecraft.class_4970.handler$cjm000$calcBlockBreakingDelta(class_4970.java:1532)
    at net.minecraft.class_4970.method_9594(class_4970.java:378)
    at net.minecraft.class_4970$class_4971.method_26165(class_4970.java:794)
    at net.minecraft.class_636.method_2910(class_636.java:175)
    at net.minecraft.class_636.method_2902(class_636.java:258)
    at net.minecraft.class_310.method_1590(class_310.java:1553)
    at net.minecraft.class_310.method_1508(class_310.java:1911)

-- Patchouli Book Info --
Details:
    Patchouli open book context: n/a
Stacktrace:
    at net.minecraft.class_128.handler$bpg000$fillPatchouliContext(class_128.java:1521)
    at net.minecraft.class_128.<init>(class_128.java:37)
    at net.minecraft.class_310.method_1514(class_310.java:752)
    at net.minecraft.client.main.Main.main(Main.java:217)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
    at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Affected level --
Details:
    All players: 1 total; [class_746['MobButcher'/256, l='ClientLevel', x=-247.93, y=68.00, z=85.05]]
    Chunk stats: 1024, 270
    Level dimension: minecraft:overworld
    Level spawn location: World: (-240,69,16), Section: (at 0,5,0 in -15,4,1; chunk contains blocks -240,0,16 to -225,255,31), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
    Level time: 10557 game time, 1404 day time
    Server brand: fabric
    Server type: Integrated singleplayer server

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: Default, Fabric Mods, charmonium/journeyman, cullleaves/smartleaves

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: Default, Fabric Mods, charmonium/journeyman, cullleaves/smartleaves

-- System Details --
Details:
    Minecraft Version: 1.17.1
    Minecraft Version ID: 1.17.1
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 16.0.1, AdoptOpenJDK
    Java VM Version: Eclipse OpenJ9 VM (JRE 16 Windows 7 amd64-64-Bit Compressed References 20210421_24 (JIT enabled, AOT enabled)
OpenJ9   - b4cc246d9
OMR      - 162e6f729
JCL      - cea22090ecf based on jdk-16.0.1+9), Eclipse OpenJ9
    Memory: 1149514104 bytes (1096 MiB) / 2371354624 bytes (2261 MiB) up to 3221225472 bytes (3072 MiB)
    CPUs: 2
    Processor Vendor: GenuineIntel
    Processor Name: Pentium(R) Dual-Core CPU       T4400  @ 2.20GHz
    Identifier: Intel64 Family 6 Model 23 Stepping 10
    Microarchitecture: Penryn (Client) / Penryn (Server)
    Frequency (GHz): 2.19
    Number of physical packages: 1
    Number of physical CPUs: 2
    Number of logical CPUs: 2
    Graphics card #0 name: NVIDIA GeForce 310M             
    Graphics card #0 vendor: NVIDIA (0x10de)
    Graphics card #0 VRAM (MB): 512.00
    Graphics card #0 deviceId: 0x0a75
    Graphics card #0 versionInfo: DriverVersion=21.21.13.4201
    Memory slot #0 capacity (MB): 2048.00
    Memory slot #0 clockSpeed (GHz): 0.80
    Memory slot #0 type: DDR2
    Memory slot #1 capacity (MB): 2048.00
    Memory slot #1 clockSpeed (GHz): 0.80
    Memory slot #1 type: DDR2
    Virtual memory max (MB): 10147.76
    Virtual memory used (MB): 8224.03
    Swap memory total (MB): 6087.14
    Swap memory used (MB): 3747.95
    JVM Flags: 24 total; -Xoptionsfile=C:\Program Files\Java\jdk-16.0.1.9-openj9\lib\options.default -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple -Xjcl:jclse29 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx3072m
    Fabric Mods: 
        advanced_runtime_resource_pack: Runtime Resource Pack 0.4.3
        advancements-enlarger: Advancements Enlarger 0.2.4
        alternate-current: Alternate Current 0.2.0
        amecsapi: Amecs API 1.1.4+mc21w16a
        antighost: AntiGhost 1.17.1-fabric0.36.1-1.1.4
        appleskin: AppleSkin mc1.17-2.1.2
        architectury: Architectury 2.3.23
        at_favre_lib_bcrypt: bcrypt 0.9.0
        at_favre_lib_bytes: bytes 1.3.0
        autoconfig1u: Auto Config v1 Updated 3.2.2
        axolotlitemfix: Axolotl Item Fix 1.1.1
        bclib: BCLib 0.2.4
        betterbeds: Better Beds 1.2.0
        betterdroppeditems: Better Dropped Items 1.3.0-1.17
        betterend: Better End 0.10.5-pre
        betterf3: BetterF3 1.1.5
        bettermineshafts: YUNG's Better Mineshafts 1.17-1.0.0
        betternether: Better Nether 5.1.3
        betterstrongholds: YUNG's Better Strongholds 1.17-1.1
        betterthirdperson: Better Third Person 1.5.0
        blame: Blame 1.17-4.0.1-fabric
        caelus: Caelus API 0.0.17-1.17
        capes: Capes 1.2.0
        cardinal-components: Cardinal Components API 3.0.0
        cardinal-components-base: Cardinal Components API (base) 3.1.1
        cardinal-components-block: Cardinal Components API (blocks) 3.0.0
        cardinal-components-chunk: Cardinal Components API (chunks) 3.0.0
        cardinal-components-entity: Cardinal Components API (entities) 3.1.1
        cardinal-components-item: Cardinal Components API (items) 3.0.0
        cardinal-components-level: Cardinal Components API (world saves) 3.0.0
        cardinal-components-scoreboard: Cardinal Components API (scoreboard) 3.0.0
        cardinal-components-util: Cardinal Components API (utilities) 3.0.0
        cardinal-components-world: Cardinal Components API (worlds) 3.0.0
        carpet: Carpet Mod 1.4.44
        carpet-extra: Carpet Extra 1.4.43
        charm: Charm 3.3.0
        charmonium: Charmonium 3.3.0
        chickendropfeathers: Chicken Drop Feathers 1.0
        chunkpregen: Fabric Chunk Pregenerator 0.3.3
        cleancut: CleanCut 1.17-4.0-fabric
        cleardespawn: Clear Despawn 1.17.1-fabric0.36.1-1.1.1
        cloth-api: Cloth API 2.0.54
        cloth-basic-math: Cloth Basic Math 0.5.1
        cloth-client-events-v0: Cloth Client Events v0 2.0.54
        cloth-common-events-v1: Cloth Common Events v1 2.0.54
        cloth-config2: Cloth Config v4 5.0.34
        cloth-datagen-api-v1: Cloth Datagen v1 2.0.54
        cloth-scissors-api-v1: Cloth Scissors API v1 2.0.54
        cloth-utils-v1: Cloth Utils v1 2.0.54
        coat: Coat 1.0.0-beta.10
        com_electronwill_night-config_core: core 3.6.3
        com_electronwill_night-config_toml: toml 3.6.3
        com_moandjiezana_toml_toml4j: toml4j 0.7.2
        com_velocitypowered_velocity-native: velocity-native 1.1.0-SNAPSHOT
        consistency_plus: Consistency Plus 0.4.0
        couplings: Couplings 1.5.0+1.17
        croptopia: Croptopia 1.6.0
        crowdin-translate: CrowdinTranslate 1.3+1.17
        cullleaves: Cull Leaves 2.2.0
        custom-fog: Custom Fog 1.6.0
        customlan: Custom LAN 1.0.0
        dangerousstonecutter: Dangerous Stone Cutter 1.5
        de_mkammerer_argon2-jvm: argon2-jvm 2.7
        deathlog: DeathLog 0.1.3
        dynamicfps: Dynamic FPS 2.0.4
        dynmus: Dynamic Music 1.3.1
        easiervillagertrading: EasierVillagerTrading 1.17.1-fabric0.36.1-1.5.4
        ecotones: Ecotones 0.8.1
        elytratrinket: Elytra Trinket 2.0.1-1.17
        entityculling: EntityCulling-Fabric 1.3.3
        fabric: Fabric API 0.37.0+1.17
        fabric-api-base: Fabric API Base 0.3.0+a02b446313
        fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.2.0+2b5c62d018
        fabric-biome-api-v1: Fabric Biome API (v1) 3.1.11+c345aea818
        fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b446318
        fabric-command-api-v1: Fabric Command API (v1) 1.1.2+6cefd57718
        fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa18
        fabric-containers-v0: Fabric Containers (v0) 0.1.12+a02b446318
        fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.2+a02b446318
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da31018
        fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.11+6cefd57718
        fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+a02b446318
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.9+a722d8c018
        fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa18
        fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.7+6cefd57718
        fabric-item-api-v1: Fabric Item API (v1) 1.2.4+a02b44633d
        fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab612118
        fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b446318
        fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e18
        fabric-language-kotlin: Fabric Language Kotlin 1.6.2+kotlin.1.5.20
        fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.4.4+a02b44633d
        fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.4+a02b446318
        fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa18
        fabric-models-v0: Fabric Models (v0) 0.3.0+a02b446318
        fabric-networking-api-v1: Fabric Networking API (v1) 1.0.12+6cefd57713
        fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b446318
        fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afad5
        fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+b7ab612118
        fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b446318
        fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b446318
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.10+e2961fee18
        fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.4+5f02c96918
        fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+a02b446318
        fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.0+a02b446318
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b446313
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+a02b446318
        fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+92519afa18
        fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+a02b446318
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.8+a00e834b18
        fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+155f865c18
        fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+a02b446318
        fabric-structure-api-v1: Fabric Structure API (v1) 1.1.12+6cefd57718
        fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.4+a02b4463d5
        fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b446318
        fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab61213d
        fabric-transfer-api-v1: Fabric Transfer API (v1) 1.0.0+3fe3c3f518
        fabricloader: Fabric Loader 0.11.6
        fabrishot: Fabrishot 1.5.1
        fallingleaves: Falling Leaves 1.7.2+1.17
        fallingtree: FallingTree 2.12.2
        fastchest: FastChest 1.2+1.17
        fatxporbs: Fat Experience Orbs 1.0.1
        ferritecore: FerriteCore 3.0.1
        fiber: fiber 0.23.0-2
        firstperson: FirstpersonModel 2.0.2
        gbfabrictools: GBfabrictools 1.3.4+1.17
        goml: Get Off My Lawn 1.4.0-beta
        harvest: Harvest 1.2.12
        here-be-no-dragons: Here be no Dragons! 1.0.0
        hydrogen: Hydrogen 0.3
        identity: Identity 1.14.2-beta-1.17
        indium: Indium 1.0.0+mc1.17.1
        itemmodelfix: Item Model Fix 1.0.2+1.17
        java: Eclipse OpenJ9 VM 16
        keybindsgalore: Keybinds Galore 1.0
        kirin: Kirin UI 1.8.7-1.17
        krypton: Krypton 0.1.4
        lambdynlights: LambDynamicLights 2.0.1+1.17
        lapisreserve: Lapis Reserve 1.0.8
        lazydfu: LazyDFU 0.1.2
        lithium: Lithium 0.7.3
        mcct: MC Client Tweaks 1.4.0-1.17.1
        megane: megane 5.1.1
        megane-base: megane-base 5.1.1
        megane-runtime: megane-runtime 5.1.1
        megane-vanilla: megane-vanilla 5.1.1+1.17.1
        memoryusagescreen: Memory Usage Screen 1.1
        minecraft: Minecraft 1.17.1
        mm: Manningham Mills 2.1
        modmenu: Mod Menu 2.0.2
        mostructures: Mo' Structures 1.2.1-1.17
        mousewheelie: Mouse Wheelie 1.7.3-newconfig.2+mc1.17.1-pre1
        musicdr: Music Duration Reducer 1.2.1
        net_java_dev_jna_jna: jna 5.5.0
        nofade: No Fade 1.17-2.0.0
        notenoughanimations: NotEnoughAnimations 1.3.0
        notenoughcrashes: Not Enough Crashes 3.3.1+1.17
        omega-config: OmegaConfig 1.0.8
        onsoulfire: On Soul Fire 1.17-3
        org_aperlambda_lambdajcommon: lambdajcommon 1.8.1
        org_codehaus_groovy_groovy: groovy 3.0.8
        org_codehaus_groovy_groovy-jsr223: groovy-jsr223 3.0.8
        org_iq80_leveldb_leveldb: leveldb 0.12
        org_iq80_leveldb_leveldb-api: leveldb-api 0.12
        org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.5.20
        org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.5.20
        org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.5.20
        org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.5.20
        org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.5.0
        org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.5.0
        org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.2.1
        org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.2.1
        org_json_json: json 20210307
        org_mongodb_mongodb-driver-sync: mongodb-driver-sync 4.1.0
        packet_tweaker: Packet Tweaker 0.2.0-1.17-pre1
        patchouli: Patchouli 1.17-54-FABRIC
        paxi: Paxi 1.17-1.2
        playerabilitylib: Pal 1.3.0-nightly.1.17-rc1
        pling: Pling 1.4.0
        presencefootsteps: Presence Footsteps r31-1.17-rc1
        recipecache: recipecache 0.2.0-1.17.1
        reeses-sodium-options: Reese's Sodium Options 1.1.2
        repurposed_structures: Repurposed Structures 2.1.2+1.17.1
        reroll: Reroll 1.2.1-1.16.5
        riverredux: River Redux 0.2.0
        roughlyenoughitems: Roughly Enough Items 6.0.267-alpha
        rtree-3i-lite-fabric: rtree-3i-lite for Fabric 0.3.0
        seamless_loading_screen: Seamless Loading Screen 1.3.6+1.17.1
        server_translations_api: Server Translations API 1.4.5+1.17
        servertick: Server Tick 1.5
        slight-gui-modifications: 'Slight' GUI Modifications 2.0.1
        smoothboot: Smooth Boot 1.16.5-1.6.0
        snowundertrees: Snow Under Trees 1.0.0
        sodium: Sodium 0.3.0+build.5
        sodium-extra: Sodium Extra 0.3.3
        spruceui: SpruceUI 3.2.0+1.17
        terraform-biome-builder-api-v1: Terraform Biome Builder API (v1) 2.0.0
        terraform-config-api-v1: Terraform Config API (v1) 2.0.0
        terraform-overworld-biome-extensions-api-v1: Terraform Overworld Biome Extensions API (v1) 2.0.0
        terraform-surfaces-api-v1: Terraform Surfaces API (v1) 2.0.0
        terraform-tree-api-v1: Terraform Tree API (v1) 2.0.0
        terraform-wood-api-v1: Terraform Wood API (v1) 2.0.2
        tooltipfix: ToolTip Fix 1.0.3-1.16
        transliterationlib: TRansliterationLib 1.1.0
        traverse: Traverse 4.0.0-beta.2
        trinketofundying: Trinket of Undying 2.0.0-1.17
        trinkets: Trinkets 3.0.2
        tweed: Tweed API 3.0.0-beta.22
        tweed4_annotated: tweed4_annotated 1.0.0
        tweed4_base: tweed4_base 1.1.0
        tweed4_data: tweed4_data 1.0.0
        tweed4_data_hjson: tweed4_data_hjson 1.0.1
        tweed4_tailor_coat: tweed4_tailor_coat 1.0.0
        tweed4_tailor_screen: tweed4_tailor_screen 1.0.0
        vanillaplusbiomes: Vanilla Plus Biomes 0.3.2
        villagerfix: Villager Fix 2.1.3+1.17
        voicechat: Simple Voice Chat 1.17.1-1.0.10
        wandering_collector: Wandering Collector 1.0.2+mc1.17
        wi_zoom: WI Zoom 1.3-MC1.17.1
        wthit: wthit 3.8.1
        yosbr: YOSBR 0.1.1
        yungsapi: YUNG's API 1.17-Fabric-13
    Launched Version: MultiMC5
    Backend library: LWJGL version 3.2.2 build 10
    Backend API: GeForce 310M/PCIe/SSE2 GL version 3.2.0, NVIDIA Corporation
    Window size: 1600x900
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: id=1280, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_ENUM error generated. Polygon modes for <face> are disabled in the current profile.' x 2
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Type: Client (map_client.txt)
    Graphics mode: fancy
    Resource Packs: Fabric Mods, charmonium/journeyman, cullleaves/smartleaves, cullleaves/smartleaves, charmonium/journeyman
    Current Language: English (US)
    CPU: 2x Pentium(R) Dual-Core CPU T4400 @ 2.20GHz
    Player Count: 1 / 8; [class_3222['MobButcher'/256, l='ServerLevel[TwitterCove 1.4.1]', x=-247.93, y=68.00, z=85.05]]
    Data Packs: vanilla, Fabric Mods
    Client Crashes Since Restart: 1
    Integrated Server Crashes Since Restart: 0
    Suspected Mods: Fabric Loader (fabricloader)
MobButcher commented 3 years ago

Cannot replicate the issue with barebones mods like Sodium and other optimization ones. TreeFalling is involved for sure, because I couldn't replicate the crash without it or with any other similar mod.

MobButcher commented 3 years ago

With these mods:

[02:57:15] [main/INFO]: [FabricLoader] Loading 60 mods:
    - architectury@2.3.23
    - cloth-basic-math@0.5.1
    - cloth-config2@5.0.34
    - fabric@0.37.0+1.17
    - fabric-api-base@0.3.0+a02b446313
    ...
    - fabricloader@0.11.6
    - fallingtree@2.12.2
    - ferritecore@3.0.1
    - hydrogen@0.3
    - java@16
    - lithium@0.7.3
    - minecraft@1.17.1
    - notenoughcrashes@3.3.1+1.17
    - reeses-sodium-options@1.1.2
    - smoothboot@1.16.5-1.6.0
    - sodium@0.3.0+build.5
    - sodium-extra@0.3.3

I've managed to make to get the error without crashing.

[03:03:06] [Server thread/FATAL]: Error executing task on Server
java.util.ConcurrentModificationException: null
    at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.31) ~[?:?]
    at java.util.HashMap.compute(HashMap.java:1321) ~[?:?]
    at net.minecraft.block.AbstractBlock.handler$zlm000$calcBlockBreakingDelta(AbstractBlock:532) ~[?:?]
    at net.minecraft.block.AbstractBlock.calcBlockBreakingDelta(AbstractBlock:378) ~[?:?]
    at net.minecraft.block.AbstractBlock$AbstractBlockState.calcBlockBreakingDelta(AbstractBlock:794) ~[?:?]
    at net.minecraft.server.network.ServerPlayerInteractionManager.processBlockBreakingAction(ServerPlayerInteractionManager:168) ~[?:?]
    at net.minecraft.server.network.ServerPlayNetworkHandler.onPlayerAction(ServerPlayNetworkHandler:1012) ~[?:?]
    at net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket.apply(PlayerActionC2SPacket:34) ~[?:?]
    at net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket.apply(PlayerActionC2SPacket:8) ~[?:?]
    at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils:21) ~[?:?]
    at net.minecraft.class_2600$$Lambda$6503/0x0000000045630208.run(Unknown Source) ~[?:?]
    at net.minecraft.server.ServerTask.run(ServerTask:18) ~[?:?]
    at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor:151) ~[?:?]
    at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor:23) ~[?:?]
    at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer:788) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer:164) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor:125) ~[?:?]
    at net.minecraft.server.MinecraftServer.runOneTask(MinecraftServer:770) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.server.MinecraftServer.runTask(MinecraftServer:764) ~[intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor:110) ~[?:?]
    at net.minecraft.server.MinecraftServer.runTasksTillTickEnd(MinecraftServer:748) [intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer:701) [intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer:270) [intermediary-minecraft-1.17.1-client.jar:?]
    at net.minecraft.server.MinecraftServer$$Lambda$5548/0x0000000045246ca8.run(Unknown Source) [intermediary-minecraft-1.17.1-client.jar:?]
    at java.lang.Thread.run(Thread.java:853) [?:?]
[03:03:08] [Server thread/WARN]: Mismatch in destroy block pos: class_2338{x=-24, y=72, z=190} class_2338{x=-24, y=72, z=189}

Adding DynamicFPS breaks the game.

I'll edit this message here to see if disabling DynamicFPS will eliminate the crash completely or if there's something else in my whackload of mods to blame. Adding other mods crashed the game completely, but it still remains a question what even allows this error to exist.

The error without complete crash seems to only happen on the first time I attempt to break a log through the tall grass. Subsequent attempts don't generate errors.

Rakambda commented 3 years ago
java.util.ConcurrentModificationException
    at java.util.HashMap.compute(HashMap.java:1321)
    at net.minecraft.block.AbstractBlock.handler$cjm000$calcBlockBreakingDelta(AbstractBlock:1532)

This is happening way down in the Minecraft stack. I think this is more due to a mod that changes some core aspect of the game (like you said, sodium, dynamicfps, ...). Though the whole stack seems to be only Minecraft so that's weird.

As this is ConcurrentModificationException it may not be reproducible all the time, but FallingTree may help see that issue as it breaks a lot of blocks at once.

I'm working for now so will take a look at it in the weekend.

Rakambda commented 3 years ago

I can't reproduce it with just FallingTree, so seems it clearly has something to do while another mod is present. If you can identify which one that could help.

Another thing that is weird to me is the stacktrace. The class net.minecraft.block.AbstractBlock#calcBlockBreakingDelta doesn't exists anymore in 1.17.1. It should now be net.minecraft.world.level.block.state.BlockBehaviour#getDestroyProgress.

Anyway, there's only one spot where it seems possible that it comes from FallingTree. Can you try with this version and see if it helps? https://www.dropbox.com/t/woU4QrrXGCkDnPKD

MobButcher commented 3 years ago

Just tried the updated .jar, bonemealed grass near a tree and tried to break through it: no crash, no error in logs, everything seems to look alright. I'll test it out a bit more, but for now it seems to be fixed. Also, #182 has also happened to me, albeit I use speed multiplicand of 1.2. I'll test the new version to see if switching to ConcurrentHashMap fixes that too.

About mods that have been causing this issue: I'm using Fabulously Optimized modpack, and some combination of mods from there seems to cause the issue. I was trying to figure out specifically which ones do, but it takes me about 10 minutes to boot up a game, log into a world, and test the issue, so I can't do too much testing.

MobButcher commented 3 years ago

With the new version, try all I might, I couldn't reproduce this issue or #182. Thank you for fixing it! I'll reopen it if it's not the case.