Context
Summary
Server crashes with java.lang.OutOfMemoryError: Java heap space while loading Sable tracking-point saved data on NeoForge 1.21.1.
Crash date/time
- 2026-06-28 01:52:03 (server local time)
Environment
- Minecraft: 1.21.1
- Loader: NeoForge 21.1.234
- Sable: 2.0.3 (
sable-neoforge-1.21.1-2.0.3.jar)
- Java: Eclipse Adoptium 25.0.3
- JVM flags:
-XX:+UseZGC -Xms16G -Xmx16G
- OS: Linux (Unraid kernel 6.6.78-Unraid)
Error
Exception in server tick loop
java.lang.OutOfMemoryError: Java heap space
Key stack trace path
net.minecraft.nbt.NbtIo.readCompressed
net.minecraft.world.level.storage.DimensionDataStorage.readTagFromDisk
net.minecraft.world.level.storage.DimensionDataStorage.computeIfAbsent
dev.ryanhcode.sable.sublevel.tracking_points.SubLevelTrackingPointSavedData.getOrLoad(SubLevelTrackingPointSavedData.java:45)
Evidence of oversized Sable saved-data files
From world root (find ... | sort -nr | head), top files were:
456395445 ./data/sable_tracking_points.dat (~435 MB)
169387711 ./data/tmp_sable_tracking_points.dat (~161 MB)
Other files were normal size by comparison (mostly KB/low MB).
Repro behavior
- Server crashes during startup/tick with OOM before players are online (
Player Count: 0 in report).
- Crash consistently points to Sable tracking-point saved data load.
Temporary workaround that restores boot
- Stop server.
- Move these files out of
world/data/:
sable_tracking_points.dat
tmp_sable_tracking_points.dat
- Restart server.
Server boots after quarantining those files.
Notes
- This appears to be runaway growth and/or malformed NBT in Sable tracking-point persisted data.
- I can provide the full crash report and quarantined
.dat files if useful.
Crash Report
https://mclo.gs/VmTvPMc
Context
Summary
Server crashes with
java.lang.OutOfMemoryError: Java heap spacewhile loading Sable tracking-point saved data on NeoForge 1.21.1.Crash date/time
Environment
sable-neoforge-1.21.1-2.0.3.jar)-XX:+UseZGC -Xms16G -Xmx16GError
Exception in server tick loopjava.lang.OutOfMemoryError: Java heap spaceKey stack trace path
net.minecraft.nbt.NbtIo.readCompressednet.minecraft.world.level.storage.DimensionDataStorage.readTagFromDisknet.minecraft.world.level.storage.DimensionDataStorage.computeIfAbsentdev.ryanhcode.sable.sublevel.tracking_points.SubLevelTrackingPointSavedData.getOrLoad(SubLevelTrackingPointSavedData.java:45)Evidence of oversized Sable saved-data files
From world root (
find ... | sort -nr | head), top files were:456395445 ./data/sable_tracking_points.dat(~435 MB)169387711 ./data/tmp_sable_tracking_points.dat(~161 MB)Other files were normal size by comparison (mostly KB/low MB).
Repro behavior
Player Count: 0in report).Temporary workaround that restores boot
world/data/:sable_tracking_points.dattmp_sable_tracking_points.datServer boots after quarantining those files.
Notes
.datfiles if useful.Crash Report
https://mclo.gs/VmTvPMc