BetterPortals

BetterPortals

1M Downloads

game "crash" when using 3rd party dimensional teleport

AlienXtream opened this issue ยท 20 comments

commented

ive had serious issues with inter-dimensional teleporting from several mods and all seem to relate back to BP. im not entirely sure whats going on but multiple systems are affected. specifically i have tried both Aroma's mining world teleporter item and the draconic evolution advanced dislocator. admittedly i have not yet tried to enter a nether portal or end portal however even if they remain unaffected the issue is big enough that it makes most of the game unplayable. i will test the nether and end portals at a later time but currently i am unable to continue my own testing.

here is a link to the hastebin report : https://paste.dimdev.org/epulolumod.mccrash (thats from the mining world porter)

and a crash txt from the draconic porter :
crash-2020-01-28_13.10.09-server.txt

thats the same as the hastebin log just in case it does not want to behave
crash-2020-01-28_13.13.12-server.txt

commented

The DE issue is caused by BradonsCore manually duplicating certain vanilla code which will then not have the transformations required by BP applied to it at runtime: Draconic-Inc/BrandonsCore#69

The Mining World teleporter doesn't appear to suffer from the same issue. Instead it appears like some third-party mod is changing the vanilla code in question in such a way that the transformations required by BP are no longer present.
So, this will probably cause the teleport of every other mod to fail as well (including DE after its current issue is fixed). You can test that by running /forge setdim @p -1 (should teleport you to the nether).
The full log may (if we're lucky) contain hints as to which mod has made those changes, if it doesn't, the easiest way to find out would be to remove half the mods, test, and repeat with the failing half until no more mods can be removed.

commented

removing mods isnt really an option due to the numerous interconnected dependencies. if however there is some way to enable super logging globally so that everything is written to a file for debugging. if anyone else reading this happens to know of any confirmed incompatible mods.

another thing to note is that the pack has worked fine in the past with the same mods. only change has been periodic mod updates via twitch app. admittedly i have added a couple mods but none SHOULD be touching teleport code. there IS one library mod i thought of while typing that i can try remove. dont have long but i will do a quick test of that suspect and your suggested method with the log. fingers crossed for a result

commented

ok. so my theory was a bust. going to sent over that log file now

relevant log section starts at ~line 43544. ignore the gl error stuff with mouse over. thats a vanilla fix bug and unrelated to this. i deleted most of it due to file size but left some so i didnt delete something relevant.
latest.log

commented

a tldr of the mouse over thing is the crash GUI from vanilla fix gets in a sorta loop and i started spamming the button without thinking trying to get back to the main menu to do more tests. sorta inflated the log file a fair bit XD

commented

I unfortunately couldn't find any hints in the log file.

commented

i will continue my own investigation when i have a chance

commented

Cannot reproduce.
I installed the given pack, created a new flat world, reduced render distance to 4 (cause for reasons the game was constantly freezing for a few seconds at 12), built a 1x1 nether portal into the ground, waited for it to connect, ran /forge setdim @p 1 and ended up in the end without any crashes.

commented

use the dimensional porter item thing from mining world

commented

also, double check that "enhance 3rd party transitions" is false. could have failed to load configs correctly. had issues with that with friends in the past. twitch issue i guess

commented

Ah, my bad. From the crash report it looked like really any teleport would do but it is indeed only the Dimensional Charger that breaks. Can indeed reproduce it now. Thanks for providing the testing pack.

Unfortunately that means I'll need access to Aroma1997Core's source if I'm going to debug it and there's no trace of it on the CurseForge page. I've asked about it on their Discord and will look into the issue once I get a reply.

commented

honestly, thats the best bad news ive ever heard XD

commented

ok, so i managed to test things a little more. heres what ive found out
the glitch is NOT world specific
it ONLY happens when using teleportation while in range of a rendered portal. currently while im writing this im trying to recreate the test conditions in a new pack.

commented

i have successfully recreated the crash. the key element appears related to "3rd party transfer" being set to false. heres the twitch app mod profile.
MOD TESTING-1.0.0.zip

commented

draconic translocator still broken for unrelated reason evidently.

commented

After looking at Aroma1997Core's source, I've come to the conclusion that this cannot be its fault. So I've done some more testing and was finally able to reliably reproduce the issue with just BP and /forge setdim. The key point being that you must teleport from one dimension to a second one, arriving next to an active portal to a third one. E.g.

  1. Create new flat world
  2. /tp 0 5 0
  3. Build and activate nether portal nearby
  4. /forge setdim @p 1 to go to the end
  5. /forge setdim @p 0 to go back to the overworld, arriving next to the existing portal
  6. Crash
[20:17:31] [Server thread/WARN] [minecraft/CommandHandler]: Couldn't process command: forge setdim @p 0
java.lang.IllegalStateException: Third-party transfer but not all views have been disposed of!
	at de.johni0702.minecraft.view.impl.server.ServerWorldsManagerImpl.updateActiveViews(ServerWorldsManagerImpl.kt:71) ~[ServerWorldsManagerImpl.class:?]
	at net.minecraft.server.management.PlayerChunkMap.handler$addPlayerWithViews$zzi000(SourceFile:549) ~[ou.class:?]
	at net.minecraft.server.management.PlayerChunkMap.func_72683_a(SourceFile) ~[ou.class:?]
	at net.minecraft.server.management.PlayerList.func_72375_a(PlayerList.java:290) ~[pl.class:?]
	at net.minecraft.server.management.PlayerList.transferPlayerToDimension(PlayerList.java:625) ~[pl.class:?]
	at net.minecraft.entity.player.EntityPlayerMP.changeDimension(EntityPlayerMP.java:695) ~[oq.class:?]
	at net.minecraftforge.server.command.CommandSetDimension.func_184881_a(CommandSetDimension.java:96) ~[CommandSetDimension.class:?]
	at net.minecraftforge.server.command.CommandTreeBase.func_184881_a(CommandTreeBase.java:164) ~[CommandTreeBase.class:?]
	at net.minecraft.command.CommandHandler.func_175786_a(CommandHandler.java:119) [bj.class:?]
	at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:91) [bj.class:?]
	at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:962) [pa.class:?]
	at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:941) [pa.class:?]
	at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37) [la.class:?]
	at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9) [la.class:?]
	at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [hv$1.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_242]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_242]
	at net.minecraft.util.Util.func_181617_a(SourceFile:46) [h.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) [chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]

I've got a pretty good idea of why that would happen and will try to fix it next weekend.

commented

cool

commented

The fix appears to not be working correctly outside of my development environment. Investigating.

commented

Related kinda.
Magma: the spigot forge hybrid system. Has a 3rd party to error as well. Just die in the nether and hit resapwm and oops bye server. I'll post more in a bit. Idk if it needs to be fixed on magma's end or mod end
Also don't know if I should make a new report for it or not

commented

This should be fixed (for real this time) with BP 0.3.7.7.

@Redd56 Please open a new issue and attach the full log (so I can have a look at the exception(s) and because it includes version info on everything you're using).
Usually the 3rd party error needs to be fixed by the 3rd party (I'll forward the issue to them after I had a look the the crash report), this issue was a rare exception where the 3rd party check itself was broken under certain circumstances.

commented

I blame Kyle for saying it was your end lul