CubicChunks

CubicChunks

840k Downloads

Random lighting crash (due to large generation?)

GroundBat opened this issue ยท 5 comments

commented

Version Information

Minecraft version: 1.12.2
Forge version: 14.23.5.2859
Other mods (if applicable):

  • CubicChunks-1.12.2-0.0.1244.0-SNAPSHOT-dev-all (in dev environment)
  • My testing grounds mod for very large trees (2000 blocks tall, canopy about 2000 blocks across)

Steps to reproduce:

  1. Unzip and add the included .jar of my mod to the mods folder (Located after the Debug log files section).
  2. Launch the game
  3. The game may crash while preparing the spawn area.
  4. If the game doesn't crash right away, you may be able to trigger a crash by going up to around y=800, and navigating towards x=1024, z=1024. The tree trunk is around 100-150 blocks in diameter, centered on that coordinate. Or, you might be better off just rerunning it.

Expected Behavior:
The game loads, and the trees generate correctly, blocking out all light within about a 1000-block radius of the trunk (at least, once the trunk is

Actual Behavior:
Sometimes crashes upon loading the world, or heavily lags (& potentially crashes) once the branches start generating.

Link to crash log (if applicable - use a site such as hastebin:
Crash while preparing spawn area (NullPointerException): crash-2022-06-23_15.28.34-server.txt
Crash while moving up near a tree's trunk, and the tree's branches start generating (OutOfMemoryError): No crash log generated, see corresponding log file.

Log files:
NullPointerException: 2022-06-23-7.log
OutOfMemoryError: latest.log

Debug log files:
NullPointerException: debug-1.log
OutOfMemoryError: debug.log

Zipped mod .jar: Yggdrasil[CC]-0.0.1.zip
Zipped mod .jar with mixin actually working: Yggdrasil[CC]-0.0.1.zip
Source repo: https://github.com/Joekeen03/-CC-Yggdrasil-Mod/tree/Full_Tree_Generation

Notes:

  • I have a mixin (Mixin_GuiMainMenu) applied which loads directly into a world, skipping the main/world creation menus. It creates a save-file named Yggdrasil Testing (run through MC's savedir/savename transforms), with a random seed, and creative mode.
  • I turned my heap size up to 6 gigabytes when I started encountering the out of GC errors (though that didn't completely stop them, and might have simply obfuscated the core of the problem).
  • The testbed world consists of flat planes of stone at cube-local y=15, for all cubes at cubeY<4
  • Sometimes it just lags horribly upon generating the branches.
  • Tree's rough shape: trunk goes up about 1000 blocks, at which point the canopy starts, which is approximately hemispherical in shape, and around 2000 blocks in diameter.
commented

I can't reproduce it. Any more details? Specific seed?

It does lag which is expected (a lot of light updates on render thread) but otherwise I can't get it to crash.

commented

After creating about 25 worlds I just can't make it crash. Did you change CC config in any way?

commented

I'm now running the game in a loop until it crashes on spawn generation and will leave it for a few hours.

commented

After creating about 25 worlds I just can't make it crash. Did you change CC config in any way?

Not that I remember. I'm out of town until Monday/Tuesday, but I can double check once I return.
It's been very difficult for me to reproduce as well - sometimes it just froze.
I'm assuming you're running it from the CubicChunks dev environment?
I ran it from my mod's dev environment when it crashed (looking at the log files I uploaded) - is it possible running it from one mod's dev environment vs. another could change anything (CubicChunks vs. Yggdrasil dev environments)?

commented

It shouldn't make a difference which dev environment it is.
I even tried running with the same amount of ram allocated. After over an hour of making the game run in a loop and quitting if it gets past spawn generation i didn't get any crashes. It made a total of 185 worlds.

I did use a slightly newer CC version but i checked and there have been no changes to lighting code since your version, aside of reloading some data from disk, which can't make a difference when generating chunks for the first time