Angry-Pixel/The-Betweenlands

Game Crashes upon entering betweenlands. Dimension loading improperly in RAD modpack

Closed this issue · 6 comments

Entering the betweenlands dimension causes the server/game to crash.
I tried this on multiple different world generation presets for the modpack.

Versions

Betweenlands version:

3.9.5

I also tried updating to betweenlands version 3.9.6, and the issue persists.

Forge version:

14.23.5.2860

Singleplayer or Multiplayer:

This issue is happening in both singleplayer and multiplayer.

I started a multiplayer server on bisecthosting with my friends, and when two of them tried entering the betweenlands they were stuck suspended in the air, they couldn't use any items, and then the server crashed.

We were able to remove them from the betweenlands by setting the betweenlands dimension in its config file from 20 to 18, which successfully booted them out of the betweenlands dimension into the overworld when they got back onto the server.

Testing entering the dimension on singleplayer also causes the game to crash on my friend's game, and my own.
The game gets stuck on "loading terrain" in the custom betweenlands loading screen
I have attached the crash log from my singleplayer attempt

Installed mods:

Modpack:

Roguelike Adventures and Dungeons
version: RAD-1.53
https://www.curseforge.com/minecraft/modpacks/roguelike-adventures-and-dungeons

Modlist:

text file

html with hyperlinks

Link to full crash log

I couldn't upload the log to gist.github.com, probably because it was too long of a crashlog.
I uploaded it to google drive and made it so that anyone with the link can view it.

The start of loading the betweenlands dimension is on line 8000 (it is set to DIM 20 in this modpack)
System information is given on line 612101

From what I can tell it looks like the stack trace of the error is getting stuck in a loop
It seems to repeatedly get stuck when trying to run some function.
This is what it says right before it dumps a ~117,000 line stack trace

[Server thread/ERROR]: Exception caught during firing event net.minecraftforge.event.entity.living.LivingSpawnEvent$CheckSpawn@2312cd71: java.lang.StackOverflowError: null

The "2312cd71" at the end is different between each repeated attempt.

Here is a small snippet of the stack trace that seems to repeat:

at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_51] at java.lang.ClassLoader.checkPackageAccess(ClassLoader.java:500) ~[?:1.8.0_51] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:188) ~[EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.canEntitySpawn(ForgeEventFactory.java:233) ~[ForgeEventFactory.class:?] at thebetweenlands.common.world.biome.spawning.AreaMobSpawner.populateChunk(AreaMobSpawner.java:583) ~[AreaMobSpawner.class:?] at thebetweenlands.common.world.biome.spawning.WorldMobSpawner.populateChunk(WorldMobSpawner.java:192) ~[WorldMobSpawner.class:?] at thebetweenlands.common.world.gen.ChunkGeneratorBetweenlands.func_185931_b(ChunkGeneratorBetweenlands.java:525) ~[ChunkGeneratorBetweenlands.class:?] at net.minecraft.world.chunk.Chunk.func_186034_a(Chunk.java:1019) ~[axw.class:?] at net.minecraft.world.chunk.Chunk.func_186030_a(Chunk.java:999) ~[axw.class:?] at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:157) ~[on.class:?] at net.minecraft.world.World.func_72964_e(World.java:310) ~[amu.class:?] at com.vanyabaou.radenchants.Events.EventHandler.onEntitySpawning(EventHandler.java:2674) ~[EventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1226_EventHandler_onEntitySpawning_CheckSpawn.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) ~[EventBus.class:?] at net.minecraftforge.event.ForgeEventFactory.canEntitySpawn(ForgeEventFactory.java:233) ~[ForgeEventFactory.class:?] at thebetweenlands.common.world.biome.spawning.AreaMobSpawner.populateChunk(AreaMobSpawner.java:583) ~[AreaMobSpawner.class:?] at thebetweenlands.common.world.biome.spawning.WorldMobSpawner.populateChunk(WorldMobSpawner.java:192) ~[WorldMobSpawner.class:?] at thebetweenlands.common.world.gen.ChunkGeneratorBetweenlands.func_185931_b(ChunkGeneratorBetweenlands.java:525) ~[ChunkGeneratorBetweenlands.class:?]

From what I can tell looking into this stack trace is that it is trying to check to spawn area for something, and this is somehow causing it to loop the same like 10 functions over and over again until the stack overflows.

Description of the problem

How to reproduce:

  1. launch the RAD modpack
  2. create/enter a world
  3. create/enter a betweenlands portal

Expected result:

The dimension would successfully load

Actual result:

The game gets stuck on "loading terrain" screen, and then crashes.
Upon relaunching the game, and then reentering the world, the player gets stuck in an unloaded betweenlands dimension, unable to even interact with items in their inventory, and then the game/server crashes. (attempting to save and quit to title simply crashes the game)

What is interesting is that the food items in the player's inventory will rot, so the player does in fact enter the dimension, but none of the terrain loads or generates, and then the game crashes.

Pictures:

Image of loading screen upon first entering betweenlands

Image of what happens upon loading into the world after the first crash

hey did u manage to find a fix i have the same issue

No, we just decided not to enter the betweenlands. If you want to get your player out of the betweenlands I outlined a method to eject the player back to the overworld

No, we just decided not to enter the betweenlands. If you want to get your player out of the betweenlands I outlined a method to eject the player back to the overworld

dang, welp thx a bunch for the reply, i think ill play RAD 2 now and see if it works there.

i foun a fix on their discord if u wanna try it
image

Is that the RAD discord or the betweenlands discord?
I will definitely give it a try, I'll let you know how it goes.
If it works I'll write up a guideline on how to do it

Just to clarify, that message is on the RAD discord server.
You can find the link to it on the RAD curseforge page.

Changing the Rad Enchants mod to an older version works. You need to use the 1.0.0 version of RAD-enchants to fix the issue.
The issue is not the fault of the Betweenlands.
Something I've learned is to check bugs in modpacks with the modpack dev's first, rather than taking it to the mod authors.
Sorry Betweenlands devs!

How to resolve this issue clientside on the curseforge app:

  1. go to installed RAD modpack on the curseforge app
  2. click the ellipses near the play button, and go to profile options
  3. Select "Allow content management for this profile" and hit done
  4. go to the "Mods" tab and scroll down to "Rad Enchants" and click on it
  5. this will take you to the "Rad Enchants" page on the app, now select the "Versions" tab
  6. install the 7/15/2022 1.0.0 Rad Enchants version

For server owners, you're going to have to mess with your server files a little bit.
Make sure your server is stopped before doing this.

  1. Find and open the mods folder in the server files
  2. Find and delete the RadEnchants jar file (for me it is called "RadEnchants-1.12.2-1.0.1a-BETA.jar")
  3. download the 1.0.0 version of Rad enchants from the curseforge website, and place it in your server mods folder

Now for servers the client mod versions and the server mod versions should be the same, so make sure to tell your players to update their clients

I hope this helps!

For those wondering, the RAD-enchants dev is aware of the issue. Here is the thread link.
https://legacy.curseforge.com/minecraft/mc-mods/rad-enchants/issues/4