ForgeEssentials

ForgeEssentials

339k Downloads

Cross-world portals sometimes fail

dbbnrl opened this issue ยท 8 comments

commented

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.

commented

Ok. Thanks

commented

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.

commented

Let me know if build 1347 fixes it.

commented

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

commented

Ugh, how embarrassing. Retested with build 1346 and cannot reproduce the issue. I'll re-open if I encounter it again. Sorry!

commented

Will do. Since I can't reliably create the bug, I'll have to let it run for a few days to be sure.

commented

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.

commented

As we moved to 1.12.2, is this still an issue? Closing this issue in 7 days if no response @dbbnrl