Cross-world portals sometimes fail
dbbnrl opened this issue ยท 8 comments
I'm using 1.7.10 build 1341, but as far as I can see all the code I refer to here is the same in the develop branch, so presumably the behavior is the same.
I've been noticing that often (particularly after restarting the server), portals between worlds/dimensions do nothing. Looking through the logs, I see:
[Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
Looking through the code in PortalManager::playerMove()
, I see it calls TeleportHelper.doTeleport()
. Contrast this with CommandWarp::parse()
, which calls TeleportHelper.teleport()
to move the player, and always works for me.
I'm guessing that the initial code in TeleportHelper::teleport()
which does a NULL check, is handling an unloaded destination world, while calling doTeleport()
directly does not.
So, this issue just popped up again. I can't be sure of exactly what it takes to trigger it. It is NOT true that it reliably occurs right after the server is restarted. Here is a log snippet from an attempt I just made (3 times in a row) to traverse this cross-world portal:
[22:19:04] [Server thread/INFO] [FML/]: Unloading dimension 10
[22:19:08] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[22:19:10] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[22:19:12] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
Dimension 10 is indeed the destination multiworld.
As mentioned before, this is with build 1346 (1.7.10).
I can't actually reopen the issue, but I think it makes sense to.
Please let me know if additional info or testing would help.
Closed for not being on the latest jenkins build.
Please update to the latest build and follow everything else in the reporting bugs section
https://github.com/ForgeEssentials/ForgeEssentials#reporting-bugs
Before Reopening this issue
Ugh, how embarrassing. Retested with build 1346 and cannot reproduce the issue. I'll re-open if I encounter it again. Sorry!
Will do. Since I can't reliably create the bug, I'll have to let it run for a few days to be sure.
I believe this problem has not been solved. Just logged in this morning, tried portal 4 times in a row, gave up and used a warp point, then logged out. Log snippet attached (Many messages are probably irrelevant, but included for context).
[10:01:40] [Server thread/DEBUG] [NotEnoughItems/]: Loading Player: [redacted]
[10:01:40] [Server thread/DEBUG] [NotEnoughItems/]: Sending serverside check to: [redacted]
[10:01:48] [Server thread/DEBUG] [FML/]: The world 2f1f0da1 (world) may have leaked: seen 21810 times.[10:02:03] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:02:08] [Server thread/DEBUG] [FML/]: The world 3aaaa46c (world) may have leaked: seen 21785 times.[10:02:08] [Server thread/DEBUG] [FML/]: The world 3aaaa46c (world) may have leaked: seen 21785 times.
[10:02:13] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[10:02:15] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[10:02:17] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[10:02:38] [Server thread/DEBUG] [FML/]: The world 2f1f0da1 (world) may have leaked: seen 21815 times.[10:02:48] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:02:58] [Server thread/DEBUG] [FML/]: The world 3aaaa46c (world) may have leaked: seen 21790 times.[10:03:08] [Server thread/ERROR] [ForgeEssentials/]: Error teleporting player. Target world is NULL
[10:03:28] [Server thread/DEBUG] [FML/]: The world 2f1f0da1 (world) may have leaked: seen 21820 times.
[10:03:33] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:03:48] [Server thread/DEBUG] [FML/]: The world 3aaaa46c (world) may have leaked: seen 21795 times.[10:04:18] [Server thread/DEBUG] [FML/]: The world 2f1f0da1 (world) may have leaked: seen 21825 times.
[10:04:18] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:04:24] [Server thread/INFO] [FML/]: Loading dimension 10 (world)
(net.minecraft.server.dedicated.DedicatedServer@5082f99e)
. . . (several minutes of "Gathering id map" and "world may have leaked" spam) . . .
[10:09:04] [Server thread/DEBUG] [NotEnoughItems/]: Unloading Player: [redacted]
[10:09:18] [Server thread/DEBUG] [FML/]: The world 2f1f0da1 (world) may have leaked: seen 21855 times.[10:09:33] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:09:33] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:09:34] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world
[10:09:34] [Server thread/INFO] [FML/]: Unloading dimension 10
You can see my login at [10:01:40], and four attempts starting at [10:02:13]. I'm guessing the "Loading dimension" message at [10:04:24] corresponds with my use of /warp. I then log out at [10:09:04], followed exactly 30 seconds later by the dimension unloading at [10:09:34].
Hope this helps.
As we moved to 1.12.2, is this still an issue? Closing this issue in 7 days if no response @dbbnrl