This is a tiny server-sided mod that makes it so that the logs show more information when the Watchdog system on the server has killed the server due to being deadlocked or stuck so long. The crash report log will now show all of the code that was running at the time of the deadlocked server. In other words, the full stacktrace of all threads instead of the normally truncated (shortened) version.
In theory, this should help with diagnosing what modded code or mixin has caused an "off-thread" to lock up. When a thread locks up, the server thread gets stuck and if it remains stuck for so long, the Watchdog kills it because a tick took too long to complete. It won't help solve all deadlock issues. But it might get you just enough info to track down the cause of a few deadlocks.
Image below is an example of before and after this mod is put on (Gallery tab shows image better):Â
Yes you may ship this mod in a modpack. The client can also have this mod on but it won't do anything on client since the Watchdog system is only ran on servers. You can also run servers with this mod only on the server. Clients without this mod can still connect.
NOTE 1: NeoForge 20.4.107 and newer already has this mod merged into it! You do not need this mod in NeoForge for 1.20.4 MC or newer! https://github.com/neoforged/NeoForge/pull/512
NOTE 2: Fabric API 0.104.0+1.21.2 and newer already has this mod merged into it! You do not need this mod in Fabric for 1.21.2 MC or newer! https://github.com/FabricMC/fabric/pull/4052
External resources
Project members
TelepathicGrunt
Owner