LuckPerms

LuckPerms

41.4k Downloads

Thread death with method ExpiringCache.get()

JIBSIL opened this issue ยท 1 comments

commented

Description

LuckPerms hangs the thread on ExpiringCache.get(), causing thread death:

me.lucko.luckperms.common.cache.ExpiringCache.get(ExpiringCache.java:61)
[14:03:29] [Paper Watchdog Thread/ERROR]: me.lucko.luckperms.common.context.manager.QueryOptionsCache.getContextSet(QueryOptionsCache.java:64)
[14:03:29] [Paper Watchdog Thread/ERROR]: me.lucko.luckperms.common.context.manager.ContextManager.getContext(ContextManager.java:89)
[14:03:29] [Paper Watchdog Thread/ERROR]: me.lucko.luckperms.bukkit.vault.LuckPermsVaultPermission.getQueryOptions(LuckPermsVaultPermission.java:364)
[14:03:29] [Paper Watchdog Thread/ERROR]: me.lucko.luckperms.bukkit.vault.LuckPermsVaultPermission.userHasPermission(LuckPermsVaultPermission.java:176)
[14:03:29] [Paper Watchdog Thread/ERROR]: me.lucko.luckperms.bukkit.vault.AbstractVaultPermission.playerHas(AbstractVaultPermission.java:151)

Reproduction Steps

Seems like it occurs on all versions of LuckPerms

Expected Behaviour

I would expect ExpiringCache.get() not to freeze the server

Server Details

git-Purpur-1428 (MC: 1.17.1)

LuckPerms Version

LuckPerms-Bukkit-5.4.41.jar

Logs and Configs

https://gist.github.com/JIBSIL/3908e7102ba2b97806cdfa96d56ee09c

Extra Details

No response

commented

Need a full thread dump to see which other thread is locking the synchronized block and why. Please open a new issue if it happens again & you have this info.