Skip to content

[Bug]: Random world deadlock on NEARBY_PLAYERS_MEAN calculation #17

@KabanFriends

Description

@KabanFriends

Mod Version

0.9.5

Hytale Version

2026.02.06-aa1b071c2

Describe the bug

Worlds seem to randomly end up in a deadlock situation when using LevelingCore. The stacktrace is observed using a custom thread dumper:

[2026/02/09 19:00:00 SEVERE]                        [Watchdog] Thread: WorldThread - default (ID: 159):
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/jdk.internal.misc.Unsafe.park(Native Method)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:223)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1885)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:4364)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:4310)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1919)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2138)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at com.hypixel.hytale.server.core.universe.world.World.getPlayers(World.java:751)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.utils.MobLevelingUtil.computeNearbyPlayersMeanLevel(MobLevelingUtil.java:136)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.utils.MobLevelingUtil.lambda$computeDynamicLevel$0(MobLevelingUtil.java:46)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.utils.MobLevelingUtil$$Lambda/0x00000000273a7000.apply(Unknown Source)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.util.Optional.map(Optional.java:260)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.utils.MobLevelingUtil.computeDynamicLevel(MobLevelingUtil.java:42)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.systems.level.MobLevelSystem.lambda$drainPending$0(MobLevelSystem.java:136)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at ThirdPartyPlugin//com.azuredoom.levelingcore.systems.level.MobLevelSystem$$Lambda/0x00000000273a5c00.run(Unknown Source)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at com.hypixel.hytale.server.core.universe.world.World.consumeTaskQueue(World.java:904)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:419)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:89)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.lang.Thread.runWith(Thread.java:1487)
[2026/02/09 19:00:46 SEVERE]                        [Watchdog]     at java.base@25.0.1/java.lang.Thread.run(Thread.java:1474)

Specifically, the line of interest is MobLevelingUtil.java:136 where it calls World#getPlayers. Calling this from a non-world thread may result in the world freezing, but it is currently unknown under what situation this is invoked from a non-world thread.

To Reproduce

  1. Steps unknown, currently investigating...

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions