plugin not working on latest paper?
supertakeru opened this issue · 22 comments
paper 307
plugin doesnt work, loads in but when type /rtp nothing happens and no stacktrace in console
same issue here, version 2.15 on paper 307. Briefly flashes effects... not long enough for me to see what they are.. but nothing in log, no teleportation actually happening.
Is this perhaps a duplicate of #70 (being the same cause)?
I don't think so since it worked from build 166-304... probably 165 too since I never had the issue until recently.
I don't think so since it worked from build 166-304
So... then that would indicate that it is a Paper issue then....????
i will concede that updates made to paper has rendered this plugin nonfunctional, but calling it a "paper issue" assumes that paper is going to modify how it's written down the road to make this plugin work again, which is not likely to occur. This plugin worked from 166-304 since we did not have this problem in that stretch of time, but I can't say if an issue existed in 165 that suddenly got resolved in 166. Your supposing this is a duplicate of that ticket assumes that paper solved the build 165 problem and I think it's more likely the server has some other configuration issue preventing the plugin from functioning and if I could test this in 165 it might actually work for me there as well.
but calling it a "paper issue" assumes that paper is going to modify how it's written down the road to make this plugin work again, which is not likely to occur.
If the Paper version is the only thing that changed, that means something changed in Paper. If there's no stacktrace yet the server is still running, it likely means that some Paper method call is hanging and not returning (e.g. the async chunk load).
The PR for the latest version here did kinda turn this plugin into a mess so it's a bit hard to figure out what's where so idk if older versions might be helpful to debug what changed in Paper - but that's the point, we need to find out what breaking change Paper made so we can get this resolved.
My guess is this bit:
Many fixes and improvements to chunk prioritization (commit: 4d38ee1) (details / githubweb)
with debug enabled this is what appears in console:
[18:47:06 INFO]: mr_coff issued server command: /wild
[18:47:06 INFO]: [WildTP] Wild command called by CraftPlayer{name=mr_coff}
[18:47:06 INFO]: [WildTP] Cooldown check requested for e6ddad0f-a28e-4d4b-8415-4
b5460e69f97
[18:47:06 INFO]: [WildTP] Player has bypass perms
[18:47:06 INFO]: [WildTP] Wild teleport called for mr_coff for world world
[18:47:06 INFO]: [WildTP] mr_coff called /wild args 0
[18:47:06 INFO]: [WildTP] Cooldown check requested for e6ddad0f-a28e-4d4b-8415-4
b5460e69f97
[18:47:06 INFO]: [WildTP] Player has bypass perms
[18:47:06 INFO]: [WildTP] java.lang.IllegalStateException: Asynchronous ChunkMap
Distance::addPriorityTicket!
Thanks that helps a lot.
So... not sure who's at fault here. From what I recall, the code to load chunks is done asynchronously - this is called in an async thread. Should this not be done? I'm not sure what the expectation is.
I may be reading too much into the debug message but I get the impression it might have worked had a priority been specified.
#311 (May 23, 2020, 10:40:08 PM)
Fix plugins calling getChunkAtAsync asynchronously (commit: 8b2a437) — Daniel Ennis / githubweb
works but their packet fix thingie (build 310) eventually just crashes the server after flooding the log with a billion errors so... still an issue till they resolve that.
yea so Paper did change the behavior, but it seems they never intended for this method call to be done asynchronously... so I'm not sure what their intended use of this method is. I'm in their channels
ok I'm not sure which PR made this suddenly not thread safe for spigot (I think?) but it did that. So... looks like we'll need quite a refactor
Yeah and they told me basically only me and one other person had the error flood thing, they didn't track it to a single plugin we both had so - no idea what caused it, all I know is I lost a buncha mobs over the ordeal... though fortunately with all the restarts it only affected myself and one other player. Your plugin resumed normal operation with their 311 build and I'm sure you can figure out some spigot safety soon enough but I think it says somewhere "this only works on paper" or something to that effect... I attempted using this on spigot initially and just didn't get anywhere until I switched to paper. This plugin was one of several saying basically the same thing which convinced me I was better off with paper.
Until I pulled those PRs this plugin has worked fine with spigot, it just can't take advantage of async chunk loading, which was added way back (in this plugin) with 1.13. Paper has been doing a ton of changes recently - it isn't usual at all for them to be shifting stuff around this often.