Closed H3xtyy closed 3 years ago
Example how biome look's like in F3
Looking at the block
custom biomes show up as null
in the bukkit API. Ugh. So I guess the check is failing because of a null
check somewhere. What does debug output say (enable debug in config and then provide logs)
[19:31:24] [Server thread/INFO]: H3xty issued server command: /rtp
[19:31:24] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[19:31:24] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[19:31:24] [Server thread/INFO]: [WildTP] Player has bypass perms
[19:31:24] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[19:31:24] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[19:31:24] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[19:31:24] [Server thread/INFO]: [WildTP] Player has bypass perms
That's all
um, no extra messages for the retries?
Oh... it just stops. And no exception?
Oh... it just stops. And no exception?
Yes, no more messages after that.
yea, this isn't making sense. a NPE should happen if the biome was a problem.
Yea, it's stopping before it gets to the random teleport part. I'll add more debug messages, but I'm thinking it's freezing on the async chunk load.
Please provide debug output with https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37144464/artifacts
Please provide debug output with https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37144464/artifacts
[23:41:22] [Server thread/INFO]: H3xty issued server command: /rtp
[23:41:22] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[23:41:22] [Server thread/INFO]: [WildTP] starting cook()
[23:41:22] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[23:41:22] [Server thread/INFO]: [WildTP] Player has bypass perms
[23:41:22] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[23:41:22] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[23:41:22] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[23:41:22] [Server thread/INFO]: [WildTP] Player has bypass perms
[23:41:22] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[23:41:22] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=246.0,y=10.0,z=-661.0,pitch=0.0,yaw=0.0}
[23:41:22] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=246.0,y=10.0,z=-661.0,pitch=0.0,yaw=0.0}
wow, that's even more strange...
I wonder if purpur is hanging now, hmm. will add a couple more debug statements.
ok, so it isn't even getting to the claim check... so something weird is going on here if this isn't a nether world.
also include your config, thanks.
debug from this? https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37146709/artifacts
[12:43:09] [Server thread/INFO]: H3xty issued server command: /rtp
[12:43:09] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[12:43:09] [Server thread/INFO]: [WildTP] starting cook()
[12:43:09] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[12:43:09] [Server thread/INFO]: [WildTP] Player has bypass perms
[12:43:09] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[12:43:09] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[12:43:09] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[12:43:09] [Server thread/INFO]: [WildTP] Player has bypass perms
[12:43:09] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[12:43:09] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=-846.0,y=10.0,z=-341.0,pitch=0.0,yaw=0.0}
[12:43:09] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=-846.0,y=10.0,z=-341.0,pitch=0.0,yaw=0.0} first checking biome blacklist
Config: https://paste.gg/p/anonymous/43b8945c4b074da981e190c33db2eb80
Ok, yea, it's hanging on the biome check. It shouldn't be, it's just a simple string check...
Now, can you check what happens when using tuinity or paper? If that's even possible...
Also - is everything else still working fine? Like, you can break blocks and run other commands or is the entire server frozen after running the command?
Now, can you check what happens when using tuinity or paper? If that's even possible...
Tested on tuinity aswell.
Also - is everything else still working fine? Like, you can break blocks and run other commands or is the entire server frozen after running the command?
Yes, I can "cancel" this teleporting by moving myself and server is working fine all the time
Now, can you check what happens when using tuinity or paper? If that's even possible...
Tested on tuinity aswell, same problem.
Also - is everything else still working fine? Like, you can break blocks and run other commands or is the entire server frozen after running the command?
Yes, I can "cancel" this teleporting by moving myself and server is working fine all the time
Btw, I tested tpr command from essentials and teleporting is working. (tpr has biom blacklist too)
Hmm ok, that means operations are not being done synchronously for some reason. Also, billy did mention that biomes from datapacks are slower since they aren't natively supported in Bukkit.
biomes from datapacks are slower
What does that mean? This biomes will slow down my server?
any bukkit plugins that interact with custom biomes will have issues yea. But that's according to billy. I personally don't know as I have not touched datapacks.
I'd like to verify if it's due to asynchronous access though, if you could try the latest debug version I posted please, thanks!
any bukkit plugins that interact with custom biomes will have issues yea. But that's according to billy. I personally don't know as I have not touched datapacks.
I'd like to verify if it's due to asynchronous access though, if you could try the latest debug version I posted please, thanks!
[19:34:13] [Server thread/INFO]: H3xty issued server command: /rtp
[19:34:13] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[19:34:13] [Server thread/INFO]: [WildTP] starting cook()
[19:34:13] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[19:34:13] [Server thread/INFO]: [WildTP] Player has bypass perms
[19:34:13] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[19:34:13] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[19:34:13] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[19:34:13] [Server thread/INFO]: [WildTP] Player has bypass perms
[19:34:13] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[19:34:13] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=494.0,y=10.0,z=-369.0,pitch=0.0,yaw=0.0}
[19:34:13] [Server thread/INFO]: [WildTP] primary thread? true
[19:34:13] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=494.0,y=10.0,z=-369.0,pitch=0.0,yaw=0.0} first checking biome blacklist
[19:34:13] [Server thread/INFO]: [WildTP] primary thread? true
that's... strange.... if it was actually frozen on the main thread as this debug log indicates, then you wouldn't be able to move and cancel it... something else is going on.
alright... hopefully this debug build should pinpoint what and where the issue is occurring... https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37160989/artifacts
alright... hopefully this debug build should pinpoint what and where the issue is occurring... https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37160989/artifacts
[14:32:39] [Server thread/INFO]: H3xty issued server command: /rtp
[14:32:39] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[14:32:39] [Server thread/INFO]: [WildTP] starting cook()
[14:32:39] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[14:32:39] [Server thread/INFO]: [WildTP] Player has bypass perms
[14:32:39] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[14:32:39] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[14:32:39] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[14:32:39] [Server thread/INFO]: [WildTP] Player has bypass perms
[14:32:39] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[14:32:39] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=59.0,y=10.0,z=-918.0,pitch=0.0,yaw=0.0}
[14:32:39] [Server thread/INFO]: [WildTP] primary thread? true
[14:32:39] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=59.0,y=10.0,z=-918.0,pitch=0.0,yaw=0.0} first checking biome blacklist
[14:32:39] [Server thread/INFO]: [WildTP] primary thread? true
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.lang.Thread.getStackTrace(Thread.java:1607)
[14:32:39] [Server thread/INFO]: [WildTP] net.poweredbyhate.wildtp.WildWarrantTax.chekar(WildWarrantTax.java:104)
[14:32:39] [Server thread/INFO]: [WildTP] net.poweredbyhate.wildtp.WildWarrantTax.lambda$search$0(WildWarrantTax.java:71)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.execute(IAsyncTaskHandler.java:89)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:568)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1069)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:1210)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:1224)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer.runTasks(ChunkProviderServer.java:814)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1212)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1195)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1171)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1015)
[14:32:39] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175)
[14:32:39] [Server thread/INFO]: [WildTP] java.base/java.lang.Thread.run(Thread.java:834)
and nothing else after the stacktrace?
If so, then that narrows it down straight to location.getBlock().getBiome().toString()
I guess I could do one more debug to isolate exactly which method causes this "freeze." I wonder if it has something to do with the chunk perhaps being queued for unload, or the chunk really isn't being loaded... idk, these are guesses.
Ok, so one more debug attempt: first, debug as you did normally with this new build: https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37173483/artifacts After getting that and its log, I want you to perform another attempt, but when it freezes, use another player to teleport to the location it's trying to check (so the chunk is loaded by the other player) and see if that "unfreezes" the check (and provide log of entire thing).
Btw I didn't miss your comment about essentials rtp, I've seen their class before but I'll take another look to see if they're doing anything different. Update: just checked, and they do the same thing but they don't do a "toString". So the debug output will be helpful to determine if that's really what's going on...
[16:43:48] [Server thread/INFO]: H3xty issued server command: /rtp
[16:43:48] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[16:43:48] [Server thread/INFO]: [WildTP] starting cook()
[16:43:48] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[16:43:48] [Server thread/INFO]: [WildTP] Player has bypass perms
[16:43:48] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[16:43:48] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[16:43:48] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[16:43:48] [Server thread/INFO]: [WildTP] Player has bypass perms
[16:43:48] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[16:43:48] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=997.0,y=10.0,z=-748.0,pitch=0.0,yaw=0.0}
[16:43:48] [Server thread/INFO]: [WildTP] primary thread? true
[16:43:48] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=997.0,y=10.0,z=-748.0,pitch=0.0,yaw=0.0} first checking biome blacklist
[16:43:48] [Server thread/INFO]: [WildTP] primary thread? true
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.lang.Thread.getStackTrace(Thread.java:1607)
[16:43:48] [Server thread/INFO]: [WildTP] net.poweredbyhate.wildtp.WildWarrantTax.chekar(WildWarrantTax.java:104)
[16:43:48] [Server thread/INFO]: [WildTP] net.poweredbyhate.wildtp.WildWarrantTax.lambda$search$0(WildWarrantTax.java:71)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.execute(IAsyncTaskHandler.java:89)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:568)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1069)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:1210)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:1224)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.ChunkProviderServer.runTasks(ChunkProviderServer.java:814)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1212)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1195)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1171)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1015)
[16:43:48] [Server thread/INFO]: [WildTP] net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175)
[16:43:48] [Server thread/INFO]: [WildTP] java.base/java.lang.Thread.run(Thread.java:834)
[16:43:48] [Server thread/INFO]: [WildTP] block: CraftBlock{pos=BlockPosition{x=997, y=10, z=-748},type=STONE,data=Block{minecraft:stone},fluid=net.minecraft.server.v1_16_R3.FluidTypeEmpty@9d7ccfe}
[16:43:48] [Server thread/INFO]: [WildTP] biome: null
I want you to perform another attempt, but when it freezes, use another player to teleport to the location it's trying to check (so the chunk is loaded by the other player) and see if that "unfreezes" the check (and provide log of entire thing).
It didn't unfreeze, no more logs after teleporting second player.
Ok, yup, it's "freezing" on the NPE when calling toString. But it should print an exception. Not just... "freeze." Thank you. Will try to figure out what to do from here...
I'm sure it's throwing an exception, but I don't see any try catch
anywhere at all that would silence this exception from happening. I'm not sure what is swallowing the error. So I've just put a try-catch in there for NPE just to see if this assumption is right.
This is another debug build, but if my assumption is correct, this will also be a working build. Working or not, debug logs please. Thank you! https://ci.appveyor.com/project/RoboMWM39862/wildernesstp/builds/37185210/artifacts
[11:04:34] [Server thread/INFO]: H3xty issued server command: /rtp
[11:04:34] [Server thread/INFO]: [WildTP] Wild command called by CraftPlayer{name=H3xty}
[11:04:34] [Server thread/INFO]: [WildTP] starting cook()
[11:04:34] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[11:04:34] [Server thread/INFO]: [WildTP] Player has bypass perms
[11:04:34] [Server thread/INFO]: [WildTP] Wild teleport called for H3xty for world world
[11:04:34] [Server thread/INFO]: [WildTP] H3xty called /wild args 0
[11:04:35] [Server thread/INFO]: [WildTP] Cooldown check requested for 23b84b2d-be3f-39c6-a8e1-8b3ea45462c3
[11:04:35] [Server thread/INFO]: [WildTP] Player has bypass perms
[11:04:35] [Server thread/INFO]: [WildTP] starting getRandomeLocation()
[11:04:35] [Server thread/INFO]: [WildTP] started search with Location{world=CraftWorld{name=world},x=-187.0,y=10.0,z=-418.0,pitch=0.0,yaw=0.0}
[11:04:35] [Server thread/INFO]: [WildTP] primary thread? true
[11:04:35] [Server thread/INFO]: [WildTP] starting chekar with Location{world=CraftWorld{name=world},x=-187.0,y=10.0,z=-418.0,pitch=0.0,yaw=0.0} first checking biome blacklist
[11:04:35] [Server thread/INFO]: [WildTP] primary thread? true
[11:04:35] [Server thread/WARN]: java.lang.Exception: Stack trace
[11:04:35] [Server thread/WARN]: at java.base/java.lang.Thread.dumpStack(Thread.java:1388)
[11:04:35] [Server thread/WARN]: at net.poweredbyhate.wildtp.WildWarrantTax.chekar(WildWarrantTax.java:104)
[11:04:35] [Server thread/WARN]: at net.poweredbyhate.wildtp.WildWarrantTax.lambda$search$0(WildWarrantTax.java:71)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.execute(IAsyncTaskHandler.java:89)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:568)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1069)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:1210)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:1224)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer.runTasks(ChunkProviderServer.java:814)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1212)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1195)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1171)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1015)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175)
[11:04:35] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[11:04:35] [Server thread/INFO]: [WildTP] block: CraftBlock{pos=BlockPosition{x=-187, y=10, z=-418},type=LAVA,data=Block{minecraft:lava}[level=0],fluid=net.minecraft.server.v1_16_R3.FluidTypeLava$b@73a19967[falling=false]}
[11:04:35] [Server thread/INFO]: [WildTP] biome: null
[11:04:35] [Server thread/INFO]: [WildTP] well, something was indeed null and threw an exception.
[11:04:35] [Server thread/WARN]: java.lang.NullPointerException
[11:04:35] [Server thread/WARN]: at net.poweredbyhate.wildtp.WildWarrantTax.chekar(WildWarrantTax.java:110)
[11:04:35] [Server thread/WARN]: at net.poweredbyhate.wildtp.WildWarrantTax.lambda$search$0(WildWarrantTax.java:71)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.execute(IAsyncTaskHandler.java:89)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:568)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1069)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[11:04:35] [Server thread/WARN]: at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:1210)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:1224)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.ChunkProviderServer.runTasks(ChunkProviderServer.java:814)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1212)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1195)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1171)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1015)
[11:04:35] [Server thread/WARN]: at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175)
[11:04:35] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[11:04:35] [Server thread/INFO]: [WildTP] Biome not banned, now set y (also checks if this is a vanilla (or doubleheight) nether.
[11:04:35] [Server thread/INFO]: [WildTP] world is not vanilla/doubleheight nether, find highest y block with a totally reliable and never constantly changing Bukkit method
[11:04:35] [Server thread/INFO]: [WildTP] am chekinLocation{world=CraftWorld{name=world},x=-187.0,y=68.0,z=-418.0,pitch=0.0,yaw=0.0}
[11:04:35] [Server thread/INFO]: [WildTP] Calling preTeleportEvent
[11:04:35] [Server thread/INFO]: [WildTP] Called preWildTeleportEvent
[11:04:35] [Server thread/INFO]: [WildTP] preping 2 port 2 Location{world=CraftWorld{name=world},x=-187.0,y=69.0,z=-418.0,pitch=0.0,yaw=0.0}
[11:04:35] [Server thread/INFO]: [WildTP] Teleporting H3xtyLocation{world=CraftWorld{name=world},x=-187.0,y=69.0,z=-418.0,pitch=0.0,yaw=0.0}
[11:04:35] [Server thread/INFO]: [WildTP] H3xty Teleported to Location{world=CraftWorld{name=world},x=-186.5,y=69.5,z=-417.5,pitch=0.0,yaw=65.69619}
Plugin is not freezing anymore
Ok, thanks. Somehow the NullPointerException is being thrown, but it's being caught somewhere and silenced. Are you using any other plugins?
Hmm, I wonder if it's because of the @NotNull
annotation on Block#getBiome
. https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/Block.html#getBiome() Not sure if Java would silence a stacktrace cuz of an annotation though...
Ok, this is interesting. I found another issue related to biomes that was reported to a different project a few months ago: https://github.com/MLG-Fortress/ExtraHardMode/issues/243
As you can see there, it does throw a NPE, but it's within craftbukkit (spigot). So... I wonder if Purpur does something different where getBiome
is allowed to return null, but in spigot it just throws an NPE within CB instead. Still doesn't explain the lack of a NPE being thrown when toString
is called on it tho.
Alright, so it's not Purpur, it's spigot. If BiomeBase is null he'll return null https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java#497 thus invalidating his annotation. So he should fix Block#getBiome
Bukkit annotation to @Nullable
due to this...
in the meantime, I'll stick a null check in there.
Hi, plugin is not working with custom biomes. (Made with datapacks) It's stuck on searching a safe place.
One of new biomes:
/version wild - 2.27-e5669bb /version - Purpur 1.16.4, Build 938
many-more-biomes-v0-2-3.zip