Not Enough Crashes (Fabric)

Not Enough Crashes (Fabric)

4M Downloads

NotEnoughCrashes crash recovery is recursive instead of iterative, leaking stack space

James103 opened this issue ยท 13 comments

commented

Currently (Minecraft 1.17 and Not Enough Crashes 3.3.1, every time you crash the game, two lines of the following are added to the stack, which persist all the way until the entire game restarts (like a memory leak, but involving the stack instead of Java heap space).

	at net.minecraft.class_310.handler$zgd000$afterCrashHandled(class_310.java:4591)
	at net.minecraft.class_310.method_1514(class_310.java:749)

To reproduce:

  1. Enter a world.
  2. Hold F3+C for 10 seconds to crash the game.
  3. Repeat steps 1-2, several times.
  4. Notice that each time, the stack trace gets 2 lines (shown above) added.

Eventually, the stack trace for a given crash report could end up looking like this:

java.lang.Throwable
	at Not Enough Crashes deobfuscated stack trace.(1.17+build.11)
	at net.minecraft.client.Keyboard.pollDebugCrash(Keyboard:489)
	at net.minecraft.client.MinecraftClient.tick(MinecraftClient:1805)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1083)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:730)
	at net.minecraft.client.MinecraftClient.handler$zgd000$afterCrashHandled(MinecraftClient:4591)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:749)
	at net.minecraft.client.MinecraftClient.handler$zgd000$afterCrashHandled(MinecraftClient:4591)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:749)
...
	at net.minecraft.client.MinecraftClient.handler$zgd000$afterCrashHandled(MinecraftClient:4591)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:749)
	at net.minecraft.client.MinecraftClient.handler$zgd000$afterCrashHandled(MinecraftClient:4591)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:749)
	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)
System Details
-- System Details --
Details:
	Minecraft Version: 1.17
	Minecraft Version ID: 1.17
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 16.0.1, AdoptOpenJDK
	Java VM Version: Eclipse OpenJ9 VM (JRE 16 Windows 10 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: 2882152832 bytes (2748 MiB) / 4831838208 bytes (4608 MiB) up to 4831838208 bytes (4608 MiB)
	CPUs: 6
	Processor Vendor: GenuineIntel
	Processor Name: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz
	Identifier: Intel64 Family 6 Model 158 Stepping 10
	Microarchitecture: Coffee Lake
	Frequency (GHz): 2.90
	Number of physical packages: 1
	Number of physical CPUs: 6
	Number of logical CPUs: 6
	Graphics card #0 name: NVIDIA GeForce GTX 1660
	Graphics card #0 vendor: NVIDIA (0x10de)
	Graphics card #0 VRAM (MB): 4095.00
	Graphics card #0 deviceId: 0x2184
	Graphics card #0 versionInfo: DriverVersion=27.21.14.5671
	Memory slot #0 capacity (MB): 8192.00
	Memory slot #0 clockSpeed (GHz): 2.67
	Memory slot #0 type: DDR4
	Virtual memory max (MB): 20408.56
	Virtual memory used (MB): 14295.25
	Swap memory total (MB): 12288.00
	Swap memory used (MB): 909.38
	JVM Flags: 6 total; -Xoptionsfile=C:\Program Files\AdoptOpenJDK\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:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms4608m -Xmx4608m
	Fabric Mods: 
		advancementinfo: AdvancementInfo 1.17-fabric0.34.9-1.2.1
		attributefix: Attribute Fix {FABRIC} 1.0.1
		carpet: Carpet Mod 1.4.40
		carpet-extra: Carpet Extra 1.4.40
		clientcommands: Client Commands 2.5.1
		clientcommands-scripting: Clientcommands Scripting 1.1
		disable_custom_worlds_advice: Disable Custom Worlds Advice 1.3
		fabric: Fabric API 0.35.2+1.17
		fabric-api-base: Fabric API Base 0.3.0+a02b44633d
		fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.1.0+1d383bb63d
		fabric-biome-api-v1: Fabric Biome API (v1) 3.1.11+c345aea83d
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b44633d
		fabric-command-api-v1: Fabric Command API (v1) 1.1.1+a02b44633d
		fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa3d
		fabric-containers-v0: Fabric Containers (v0) 0.1.12+a02b44633d
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.2+a02b44633d
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da3103d
		fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.10+a02b44633d
		fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+a02b44633d
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.8+a02b44633d
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa3d
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+a02b44633d
		fabric-item-api-v1: Fabric Item API (v1) 1.2.4+a02b44633d
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab61213d
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b44633d
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e3d
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.4.4+a02b44633d
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.4+a02b44633d
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa3d
		fabric-models-v0: Fabric Models (v0) 0.3.0+a02b44633d
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.11+b7ab61213d
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b44633d
		fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afa3d
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+b7ab61213d
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b44633d
		fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b44633d
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.10+e2961fee3d
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.3+676f40fa3d
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+a02b44633d
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.0+a02b44633d
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b44633d
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+a02b44633d
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+92519afa3d
		fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+a02b44633d
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.7+b7ab6121d5
		fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+198a96213d
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+a02b44633d
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.11+e36969833d
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.4+a02b44633d
		fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b44633d
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab61213d
		fabricloader: Fabric Loader 0.11.6
		itemscroller: Item Scroller 0.15.0-dev.20210608.211652
		java: Eclipse OpenJ9 VM 16
		litematica: Litematica 0.0.0-dev.20210616.033538
		lithium: Lithium 0.7.0
		malilib: MaLiLib 0.10.0+dev.22
		minecraft: Minecraft 1.17
		minihud: MiniHUD 0.19.0-dev.20210609.185508
		modmenu: Mod Menu 2.0.2
		multiconnect-api: MultiConnect API 1.4
		notenoughcrashes: Not Enough Crashes 3.3.1+1.17
		tweakeroo: Tweakeroo 0.10.0-dev.20210614.173711
	Loaded Scarpet Apps: 
		mob_levels
	Launched Version: MultiMC5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: GeForce GTX 1660/PCIe/SSE2 GL version 3.2.0 NVIDIA 456.71, NVIDIA Corporation
	Window size: 1920x1017
	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 4
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Integrated Server (map_client.txt)
	Graphics mode: fancy
	Resource Packs: Fabric Mods
	Current Language: English (United Kingdom)
	CPU: 6x Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz
	Player Count: 1 / 8; [class_3222['James3221'/181, l='ServerLevel[Test World 3]', x=34.50, y=67.00, z=-47.50]]
	Data Packs: vanilla (incompatible), Fabric Mods, file/CavesAndCliffsPreview.zip, file/bac_advancements
	Client Crashes Since Restart: 3
	Integrated Server Crashes Since Restart: 0
	Suspected Mods: Fabric Loader (fabricloader)

If this middle part gets too long, a java.lang.StackOverflowError can be triggered just through regular play.

commented

nothing special... could be the world maybe?
world.zip

commented

I have fixed @jklw10's issue in 3.4.4.

commented

the whole log. is 200MB :/

commented

i managed to crash it so that it goes on for ever with immersive portal + iris + this.

java.lang.IllegalStateException: No render context exists for world: ClientWorld minecraft:overworld
	at Not Enough Crashes deobfuscated stack trace.(1.17+build.13)
	at me.jellysquid.mods.sodium.client.render.pipeline.context.ChunkRenderCacheShared.destroyRenderContext(ChunkRenderCacheShared.java:51)
	at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.unloadWorld(SodiumWorldRenderer.java:100)
	at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setWorld(SodiumWorldRenderer.java:80)
	at net.minecraft.client.render.WorldRenderer.handler$zzl000$onWorldChanged(WorldRenderer:4792)
	at net.minecraft.client.render.WorldRenderer.setWorld(WorldRenderer:737)
	at qouteall.imm_ptl.core.ClientWorldLoader.lambda$cleanUp$5(ClientWorldLoader.java:171)
	at java.util.HashMap$Values.forEach(HashMap.java:1067)
	at qouteall.imm_ptl.core.ClientWorldLoader.cleanUp(ClientWorldLoader.java:169)
	at qouteall.q_misc_util.my_util.Signal.lambda$emit$0(Signal.java:18)
	at java.util.ArrayList.forEach(ArrayList.java:1511)
	at qouteall.q_misc_util.my_util.Signal.emit(Signal.java:18)
	at net.minecraft.client.MinecraftClient.handler$bcf000$onSetWorld(MinecraftClient:6127)
	at net.minecraft.client.MinecraftClient.setWorld(MinecraftClient)
	at net.minecraft.client.MinecraftClient.disconnect(MinecraftClient:2221)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.resetGameState(InGameCatcher.java:104)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:32)
	at net.minecraft.client.MinecraftClient.modify$cjj000$onCrash(MinecraftClient:14099)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	at net.minecraft.client.MinecraftClient.handler$cjj000$afterCrashHandled(MinecraftClient:14091)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	at net.minecraft.client.MinecraftClient.handler$cjj000$afterCrashHandled(MinecraftClient:14091)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	at net.minecraft.client.MinecraftClient.handler$cjj000$afterCrashHandled(MinecraftClient:14091)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	at net.minecraft.client.MinecraftClient.handler$cjj000$afterCrashHandled(MinecraftClient:14091)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	at net.minecraft.client.MinecraftClient.handler$cjj000$afterCrashHandled(MinecraftClient:14091)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:754)
	```
	
commented

-- Last reload --
Details:
Reload number: 1
Reload reason: initial
Finished: Yes
Packs: Default, Fabric Mods

-- System Details --
Details:
Minecraft Version: 1.17
Minecraft Version ID: 1.17
Operating System: Windows 10 (amd64) version 10.0
Java Version: 16.0.1, Microsoft
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft
Memory: 1114084344 bytes (1062 MiB) / 3607101440 bytes (3440 MiB) up to 7516192768 bytes (7168 MiB)
CPUs: 4
Processor Vendor: AuthenticAMD
Processor Name: AMD Ryzen 3 1200 Quad-Core Processor
Identifier: AuthenticAMD Family 23 Model 1 Stepping 1
Microarchitecture: Zen
Frequency (GHz): 3.30
Number of physical packages: 1
Number of physical CPUs: 4
Number of logical CPUs: 4
Graphics card #0 name: NVIDIA GeForce GTX 1060 3GB
Graphics card #0 vendor: NVIDIA (0x10de)
Graphics card #0 VRAM (MB): 3072.00
Graphics card #0 deviceId: 0x1c02
Graphics card #0 versionInfo: DriverVersion=30.0.14.7141
Memory slot #0 capacity (MB): 8192.00
Memory slot #0 clockSpeed (GHz): 2.67
Memory slot #0 type: DDR4
Memory slot #1 capacity (MB): 8192.00
Memory slot #1 clockSpeed (GHz): 2.67
Memory slot #1 type: DDR4
Virtual memory max (MB): 28623.42
Virtual memory used (MB): 16314.34
Swap memory total (MB): 12288.00
Swap memory used (MB): 290.03
JVM Flags: 25 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx3136m -Xms256m -XX:PermSize=256m -Xms3G -Xmx7G -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
Fabric Mods:
advancedcompass: Advanced Compass 1.2.1
adventurez: AdventureZ 1.2.7
appleskin: AppleSkin mc1.17-2.1.3
architectury: Architectury 2.3.24
attributefix: Attribute Fix {FABRIC} 1.0.1
autofish: Autofish 0.9.3
bannerpp: Banner++ 2.0.3+mc.1.17-rc1
bclib: BCLib 0.2.4
beaconoverhaul: Beacon Overhaul 1.4.1+1.17
better_withered_mobs: Better Withered Mobs 1.6.0
betterbiomeblend: Better Biome Blend 1.17.0-1.2.9-fabric
betterend: Better End 0.10.5-pre
betterf3: BetterF3 1.1.5
bettermineshafts: YUNG's Better Mineshafts 1.17-1.0.1
betternether: Better Nether 5.1.3
bettersafebed: BetterSafeBed fabric-1.17-1.4
betterstrongholds: YUNG's Better Strongholds 1.17-1.1.1
betterthirdperson: Better Third Person 1.5.0
blame: Blame 1.17-4.0.1-fabric
blue_endless_jankson: jankson 1.2.1
bowinfinityfix: Bow Infinity Fix rv10
cardinal-components-base: Cardinal Components API (base) 3.0.0
cardinal-components-chunk: Cardinal Components API (chunks) 3.0.0
cardinal-components-entity: Cardinal Components API (entities) 3.0.0
cavebiomes: Cave Biomes 0.6.3
charmonium: Charmonium 3.3.0
cleancut: CleanCut 1.17-4.0-fabric
clear-skies: Clear Skies 1.5.69
cloth-basic-math: Cloth Basic Math 0.5.1
cloth-config2: Cloth Config v5 5.0.38
clumps: Clumps fabric-1.17.1-7.0.4
com_electronwill_night-config_core: core 3.6.2
com_electronwill_night-config_toml: toml 3.6.2
com_focamacho_sealconfig: sealconfig 1.2.2
com_moandjiezana_toml_toml4j: toml4j 0.7.2
connected-doors: Connected Doors 1.1+1.17
controlling: Controlling For Fabric 1.1.2
dark-enchanting: Dark Enchanting 0.3.1-1.17
dark-loading-screen: Dark Loading Screen 1.6.6
darkness: True Darkness 1.6.74
dashloader: DashLoader 2.0
dawn: Dawn API 2.0.3
daylight_mobs_reborn: Daylight Mobs Reborn 1.2.2
diggusmaximus: Diggus Maximus 1.4.5-1.17
eldritch_mobs: Eldritch Mobs 1.9.0
enchantmentdescriptions: Enchantment Descriptions 3.0.12
entitybanners: Entity Banners 1.0.1-BETA+1.17
entityculling: EntityCulling-Fabric 1.3.3
fabric: Fabric API 0.36.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+84310a227d
fabric-biome-api-v1: Fabric Biome API (v1) 3.1.11+c345aea83d
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b44633d
fabric-command-api-v1: Fabric Command API (v1) 1.1.2+6cefd57718
fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa3d
fabric-containers-v0: Fabric Containers (v0) 0.1.12+a02b44633d
fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.2+a02b44633d
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da3103d
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.10+a02b44633d
fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+a02b44633d
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.9+a722d8c03d
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa3d
fabric-furnaces: Fabric Furnaces 2.0.1-1.17
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+a02b44633d
fabric-item-api-v1: Fabric Item API (v1) 1.2.4+a02b44633d
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab61213d
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b446318
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e3d
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+a02b44633d
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa3d
fabric-models-v0: Fabric Models (v0) 0.3.0+a02b44633d
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.11+b7ab61213d
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b44633d
fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afa3d
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+b7ab61213d
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b44633d
fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b44633d
fabric-permissions-api-v0: fabric-permissions-api 0.1-SNAPSHOT
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.10+e2961fee3d
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.3+676f40fa3d
fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+a02b44633d
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.0+a02b44633d
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b44633d
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+a02b44633d
fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+92519afa3d
fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+a02b44633d
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.7+b7ab6121d5
fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+198a96213d
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+a02b44633d
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.11+e36969833d
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.4+a02b446313
fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b44633d
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab61213d
fabrication: Fabrication 2.0.0-pre3
fabricloader: Fabric Loader 0.11.6
fake-player-api: Fake Player API 0.2.0
fallingleaves: Falling Leaves 1.7.3+1.17.1
fasttransferlib: Fast Transfer Lib 0.4.2
fiber: fiber 0.23.0-2
flytre_lib: FlytreLib 0.2.18
hard_blocks: hard_blocks 0.1.0
health_levels: Health Levels 1.0.1
illuminations: Illuminations 1.6.3
imm_ptl_core: Immersive Portals Core 0.10
immersive_portals: Immersive Portals 0.10
indrev: Industrial Revolution 1.10.0-alpha.7
inventorysorter: Inventory Sorter 1.7.9-1.17
io_activej_activej-codegen: activej-codegen 4.3
io_activej_activej-serializer: activej-serializer 4.3
iris: Iris 1.1.1
ironbundles: Iron Bundles 1.0.2+1.17
ironchests: Iron Chests for Fabric 1.0.3
itemmodelfix: Item Model Fix 1.0.2+1.17
jankson: Jankson 3.0.1+j1.2.0
java: OpenJDK 64-Bit Server VM 16
kirin: Kirin UI 1.9.1
kyrptconfig: Kytpt Config 1.1.10-1.17
lambdynlights: LambDynamicLights 2.0.2+1.17
lenientdeath: Lenient Death 0.7.4
libblockattributes_core: LibBlockAttributes (Core) 0.9.0
libblockattributes_fluids: LibBlockAttributes (Fluids) 0.9.0
libblockattributes_items: LibBlockAttributes (Items) 0.9.0
libcd: LibCapableData 3.0.3+1.16.3
libgui: LibGui 4.1.0+1.17
libninepatch: LibNinePatch 1.1.0
light-fix: light-fix 1.0.0
lightoverlay: Light Overlay 6.0.0
lithium: Lithium 0.7.3
maelstrom_library: Maelstrom Library 1.2.1-1.17-pre1
magna: Magna 0.3.0-1.17-pre4
minecraft: Minecraft 1.17
mob_farm_nerfer: Mob farm nerfer 2.3.0
mobs_attempt_parkour: Mobs Attempt Parkour 0.2.3-1.17-pre1
modmenu: Mod Menu 2.0.4
morevillagers-fabric: MoreVillagersFabric 2.0.3-SNAPSHOT
mostructures: Mo' Structures 1.2.1-1.17
noenchantcap: NoEnchantCap 4.1.0
notenoughcrashes: Not Enough Crashes 3.3.1+1.17
omega-config: OmegaConfig 1.0.8
org_aperlambda_lambdajcommon: lambdajcommon 1.8.1
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_slf4j_slf4j-api: slf4j-api 1.7.29
org_yaml_snakeyaml: snakeyaml 1.27
patchouli: Patchouli 1.17-52-FABRIC-SNAPSHOT
pitch-dark: Pitch Dark 2.0.0
playerabilitylib: Pal 1.3.0
presencefootsteps: Presence Footsteps r32-1.17-rc1
pride: Pride Lib 1.0.0+21w03a
promenade: Promenade 2.1.2
q_misc_util: A Miscellaneous Utility Library from qouteall 0.10
reach-entity-attributes: Reach Entity Attributes 2.1.1
reborncore: Reborn Core 5.0.3-beta+build.55
recipecache: recipecache 0.2.0
replanter: Replanter 1.1
ringsofascension: Rings of Ascension 1.0.1
riverredux: River Redux 0.2.0
roughlyenoughitems: Roughly Enough Items 6.0.267-alpha
rpgdifficulty: Rpg Difficulty 1.0.6
rpgstats: RPGStats 4.1.3
runelic: Runelic 2.0.5
slotlock: SlotLock 1.0.4-BETA+1.17
sodium: Sodium 0.3.0+IRIS2
spark: spark ${pluginVersion}
spruceui: SpruceUI 3.2.0+1.17
stackablepotions: Stackable Potions 1.0.0
step-height-entity-attribute: Step Height Entity Attribute 1.0.0
team_reborn_energy: Energy 0.1.1
techreborn: Tech Reborn 5.0.3-beta+build.55
teenycoal: Teeny Coal 1.0.0
terraform-shapes-api-v1: Terraform Shapes API (v1) 1.0.4
timeandwind: Time & Wind 1.4.1
toms_storage: Tom's Simple Storage Mod 1.1.13
toolstats: Tool Stats 2.0.1
torohealth: ToroHealth Damage Indicators 1.17-fabric-7
trees-do-not-float: Trees Do Not Float 2.1.143
trinkets: Trinkets 3.0.0
wthit: wthit 3.8.1
xaerominimap: Xaero's Minimap 21.14.0
xaeroworldmap: Xaero's World Map 1.15.0.1
yungsapi: YUNG's API 1.17-Fabric-15
Launched Version: fabric-loader-0.11.6-1.17
Backend library: LWJGL version 3.2.2 build 10
Backend API: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2 GL version 3.2.0 NVIDIA 471.41, NVIDIA Corporation
Window size: 1858x1057
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 are disabled in the current profile.' x 1418
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fabric'
Type: Client (map_client.txt)
Graphics mode: fancy
Resource Packs: vanilla, Fabric Mods
Current Language: English (US)
CPU: 4x AMD Ryzen 3 1200 Quad-Core Processor
Client Crashes Since Restart: 710
Integrated Server Crashes Since Restart: 0
Suspected Mods: Unknown

commented

@jklw10, I want to see why it is crashing recursively. It seems like a seperate bug.
Please attach your minecraft instance (compress it to a .zip and attach here)
What did you do to trigger this crash?

commented

Very well, I will limit the amount it can be nested to prevent extreme crash logs.

commented

fabr (1)-1000.zip
i made it into a curse profile because the instance was 60MB and github doesn't let me upload it.
default everything it's the first time i ran the thing.
crash triggers on world load.

commented

@jklw10 Not Enough Crashes seems to be working fine using your instance.
image

Are you perhaps doing something special?

commented

Very well, I will limit the amount it can be nested to prevent extreme crash logs.

In other words, once the game crashes for the nth time in a row (where n is e.g. 50 by default), just let the game crash to desktop normally instead of showing the Not Enough Crashes screen.

commented

I noticed this whilst working on a port to Quilt for this mod.

I have 2 theories.

  1. This is a bug caused by a specific block in the Minecraft Client Mixin
    @Inject(method = "run()V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/MinecraftClient;addDetailsToCrashReport(Lnet/minecraft/util/crash/CrashReport;)Lnet/minecraft/util/crash/CrashReport;"), cancellable = true) private void afterCrashHandled(CallbackInfo ci) { // Can't cancel in modifyarg so canceled here ci.cancel(); // Continue game loop MinecraftClient.getInstance().run(); }
    This line refers to one of the methods in question. And could be canceled improperly

  2. This is a vanilla bug, but its unreproducible in most vanilla situations, due to how the game handles crashes.

Sadly, Im not a mixin wizard, so I dont know how I would go about finding and solving this bug.

commented

This is intentional, I did this as a workaround to make the mod more compatible with others.
Unless I find a convincing reason to change it it's gonna stay as it is.
See #47