Running luckperms user via /execute can shutdown a Spigot server
JorelAli opened this issue ยท 4 comments
Description
Typing /execute run luckperms user
as an operator in-game on a Spigot server can cause the server to instantly shutdown.
Reproduction Steps
- Use the latest version of Spigot for Minecraft 1.19 (built using Spigot's BuildTools and
java -jar BuildTools.jar
) - Create a completely fresh new server (i.e. no other plugins)
- Download the latest version of LuckPerms and add it to the
plugins/
folder - Join the server in-game
- In the console, op the player using
/op <playername>
- As the player, type
/execute run luckperms user
- Insert a space (so you get
/execute run luckperms user
)
Expected Behaviour
- LuckPerms shouldn't crash the server
- LuckPerms should be compatible with
/execute
, and it should be possible to add permissions to a user via the/execute
command
Server Details
This server is running CraftBukkit version 3546-Spigot-475f600-163e35c (MC: 1.19) (Implementing API version 1.19-R0.1-SNAPSHOT)
LuckPerms Version
5.4.30
Logs and Configs
(The logger crashes when the error occurs, so there are no meaningful logs that can be provided here!)
Extra Details
I was able to reproduce this in an old version of Paper (paper-1.19-7), but wasn't able to reproduce this on the latest version of paper (paper-1.19-58)
Since I'm rather curious, I tested this on my not yet released server. For me, it didn't crash, but it did lag like mad for a minute, throwing the errors you noted to not be useful, while I think they are useful.
Gist: https://gist.github.com/ZeromaniacMc/69fe20827a4e0c4babb1655bb6445353
The error mentions Brigadier. My guess is that for some reason it doesn't like that^^.
Perhaps I have some Java flags that makes stack calls more susceptible to crashing?
Possible yours gets choked faster. If you're interested, I use this in my ptero startup flags:
java -Xms12288M -Xmx12288M -Xmns$((12288/4))M -Xmnx$((12288*2/5))M --add-modules=jdk.incubator.vector -Xquickstart -Xgcpolicy:gencon -Xtune:virtualized -Xdisableexplicitgc -Dterminal.ansi=true -jar server.jar
Also note I use purpur, not paper and not spigot.