The Aether: Redux

The Aether: Redux

10M Downloads

[Bug]: Server Watchdog Crash During Swet Spawning due to Blocking Chunk Request

Ku-Tadao opened this issue · 1 comments

commented

Minecraft Version

1.20.1

Mod Version

2.0.18

Forge/Neoforge Version

47.4.0

What happened?

When a player is in the Aether dimension on a dedicated server, the server is susceptible to a watchdog crash. The crash is caused by a deadlock on the main server thread.

Analysis of the crash report shows that during the natural mob spawning process, the game attempts to check spawn rules for a Swet. The PL-Like Swet Behavior introduced by Aether Redux includes a check for nearby banners (Swet.inRadiusOfBanner). This function makes a blocking chunk request if the area it needs to check is not loaded.

Since this check is running on the main server thread, and the main server thread is the only thread that can load the chunk, it gets stuck waiting for itself. This freezes the server, and after 60 seconds, the watchdog terminates the process.

What was the expected result?

The server should handle mob spawning without deadlocking. Spawn condition checks should not make blocking calls for unloaded chunks from the main server thread. The server should continue to run normally while players are in the Aether.

Steps to Reproduce

  1. Set up a dedicated server with Minecraft 1.20.1, Forge 47.4.0, The Aether, and Aether Redux 2.0.18.
  2. Ensure the aether_redux_common.toml config has "PL-Like Swet Behavior" = true (this is the default setting).
  3. Have a player enter and explore the Aether dimension.
  4. The crash will occur when the server's natural mob spawner attempts to spawn a Swet and its banner-checking logic needs to access an unloaded chunk.
  5. The server's main thread will hang, and the watchdog will crash the server after 60 seconds.

Log Output (if applicable)

The full crash report is provided below, as it contains the most relevant information.

Crash Report (if applicable)

new 5.txt

Is this a compatibility issue with another mod?

This appears to be a bug within Aether Redux's mob spawning logic that causes a deadlock with Minecraft's chunk loading system, rather than a direct conflict with another specific mod. The faulty logic is enabled by the "PL-Like Swet Behavior" config option.

Additional Context/Information

This issue was discovered on a large modpack, but the crash log stack trace points directly to the Swet.inRadiusOfBanner method as the source of the deadlock.

Workaround: The crash can be completely avoided by setting "PL-Like Swet Behavior" = false in the aether_redux_common.toml config file. This suggests the issue is isolated to that specific feature.

Make sure to confirm these as well before submitting the report:

  • The issue persists on the latest version of the mod.
  • All version numbers are properly recorded, no instances of ‘latest’
  • All details are reported clearly and concisely
  • This issue is not a duplicate of another issue
  • If the issue is a modpack-related issue, it has been reported to the modpack devs as well
commented

i can't reproduce the issue standalone, could you try doing so? and if it doesn't occur standalone could you try to narrow down what mod might be potentially conflicting in the modpack you mentioned?