LuckPerms

LuckPerms

41.4k Downloads

getting lag with bukkit luckperms but not with forge

Xplodin opened this issue ยท 3 comments

commented

Description

Using luckperms latest 5.4.41 lags the server on magma. Things at the plugin loading stage after luckperms take ages to go by
[Essentials/]: Permissions lag notice with (LuckPermsHandler). Response took 1482.712895ms. Summary: Getting group for
server is essentially loading slower comparing to when I use 5.4.25-26 forge 1.18.2 luckperms as forge mod.

also getting [08:07:34] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 14275ms or 285 ticks behind

which I never got before when luckperms was as a forge mod. However I need the bukkit version as the forge one for 1.18 wont load any more recent versions due to fml:43 (something about forge and java between 1.18 - 1.19.2)
If you can update the 1.18.2 forge luckperms to have the latest changes that were made for 1.19 thatd be great if possible. (curseforge)

Reproduction Steps

Use latest magma
use luckperms as a forge mod download (.26)

switch to bukkit luckperms with same everything else except latest luckperms bukkit version

notice odd loading/lagging behind

Expected Behaviour

not to slow down the loading process by at least 3 times.

Server Details

magma - cca106b5

LuckPerms Version

v5.4.41

Logs and Configs

https://logs.panel.gg/76754df08ad26ddd1cc21db847c1cc24

configs default

Extra Details

also got this when running lp editor:

[luckperms-worker-2/WARN] [me.lu.lu.bu.lo.BukkitLoaderPlugin/]: [LuckPerms] Command execution [editor] has not completed. Trace:
[email protected]/java.lang.Throwable.fillInStackTrace(Native Method)
[email protected]/java.lang.Throwable.fillInStackTrace(Throwable.java:798)
[email protected]/java.lang.Throwable.<init>(Throwable.java:271)
[email protected]/java.lang.Exception.<init>(Exception.java:67)
[email protected]/java.io.IOException.<init>(IOException.java:57)
[email protected]/java.nio.file.FileSystemException.<init>(FileSystemException.java:63)
[email protected]/java.nio.file.NoSuchFileException.<init>(NoSuchFileException.java:48)
platform/[email protected]/jdk.nio.zipfs.ZipPath.readAttributes(ZipPath.java:769)
platform/[email protected]/jdk.nio.zipfs.ZipPath.readAttributes(ZipPath.java:777)
platform/[email protected]/jdk.nio.zipfs.ZipFileSystemProvider.readAttributes(ZipFileSystemProvider.java:276)
[email protected]/java.nio.file.Files.readAttributes(Files.java:1851)
[email protected]/java.nio.file.Files.isDirectory(Files.java:2322)
app/[email protected]/cpw.mods.niofs.union.UnionFileSystem.testFilter(UnionFileSystem.java:273)
app/[email protected]/cpw.mods.niofs.union.UnionFileSystem.findFirstFiltered(UnionFileSystem.java:156)
app/[email protected]/cpw.mods.niofs.union.UnionFileSystem.checkAccess(UnionFileSystem.java:191)
app/[email protected]/cpw.mods.niofs.union.UnionFileSystemProvider.checkAccess(UnionFileSystemProvider.java:200)
[email protected]/java.nio.file.Files.exists(Files.java:2527)
app/[email protected]/cpw.mods.jarhandling.impl.Jar.lambda$findFile$2(Jar.java:61)
app/[email protected]/cpw.mods.jarhandling.impl.Jar$$Lambda$201/0x0000000800d85e40.test(Unknown Source)
[email protected]/java.util.Optional.filter(Optional.java:218)
app/[email protected]/cpw.mods.jarhandling.impl.Jar.findFile(Jar.java:61)
app/[email protected]/cpw.mods.cl.ModuleClassLoader.lambda$findResourceList$14(ModuleClassLoader.java:204)
app/[email protected]/cpw.mods.cl.ModuleClassLoader$$Lambda$286/0x0000000800d96a28.apply(Unknown Source)
[email protected]/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[email protected]/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[email protected]/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779)
[email protected]/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
[email protected]/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[email protected]/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
[email protected]/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
[email protected]/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
[email protected]/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
[email protected]/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
app/[email protected]/cpw.mods.cl.ModuleClassLoader.findResourceList(ModuleClassLoader.java:207)
app/[email protected]/cpw.mods.cl.ModuleClassLoader.getResource(ModuleClassLoader.java:169)
TRANSFORMER/[email protected]/org.bukkit.plugin.java.PluginClassLoader.getResource(PluginClassLoader.java:102)
[email protected]/java.lang.ClassLoader.getResource(ClassLoader.java:1398)
[email protected]/java.lang.ClassLoader.getResource(ClassLoader.java:1398)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.ClassLoaderRepo.findClass(ClassLoaderRepo.java:38)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.ClassLoaderRepo.findClass(ClassLoaderRepo.java:32)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.GlobalClassRepo.lambda$findParallel$0(GlobalClassRepo.java:60)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.GlobalClassRepo$$Lambda$44922/0x000000080580e970.apply(Unknown Source)
[email protected]/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[email protected]/java.util.concurrent.ConcurrentHashMap$KeySpliterator.tryAdvance(ConcurrentHashMap.java:3581)
[email protected]/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
[email protected]/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
[email protected]/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
[email protected]/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[email protected]/java.util.stream.FindOps$FindTask.doLeaf(FindOps.java:319)
[email protected]/java.util.stream.AbstractShortCircuitTask.compute(AbstractShortCircuitTask.java:115)
[email protected]/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
[email protected]/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[email protected]/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
[email protected]/java.util.stream.FindOps$FindOp.evaluateParallel(FindOps.java:160)
[email protected]/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
[email protected]/java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:652)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.GlobalClassRepo.findParallel(GlobalClassRepo.java:62)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.GlobalClassRepo$$Lambda$44921/0x000000080580c6b8.apply(Unknown Source)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:169)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache.get(LocalCache.java:3966)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
MC-BOOTSTRAP/[email protected]/com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.repos.GlobalClassRepo.findClass(GlobalClassRepo.java:45)
MC-BOOTSTRAP/[email protected]/net.md_5.specialsource.RepoRemapper.findAccess(RepoRemapper.java:77)
MC-BOOTSTRAP/[email protected]/net.md_5.specialsource.RepoRemapper.findAccess(RepoRemapper.java:105)
MC-BOOTSTRAP/[email protected]/net.md_5.specialsource.RepoRemapper.mapFieldName(RepoRemapper.java:66)
MC-BOOTSTRAP/[email protected]/net.md_5.specialsource.UnsortedRemappingMethodAdapter.visitFieldInsn(UnsortedRemappingMethodAdapter.java:63)
app/[email protected]/org.objectweb.asm.ClassReader.readCode(ClassReader.java:2444)
app/[email protected]/org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1514)
app/[email protected]/org.objectweb.asm.ClassReader.accept(ClassReader.java:744)
app/[email protected]/org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.ClassLoaderRemapper.remapClassFile(ClassLoaderRemapper.java:322)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.ClassLoaderRemapper.remapClassFile(ClassLoaderRemapper.java:316)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.ClassLoaderRemapper.remapClassFile(ClassLoaderRemapper.java:311)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.ClassLoaderRemapper.remapClass(ClassLoaderRemapper.java:293)
TRANSFORMER/[email protected]/org.magmafoundation.magma.remapping.loaders.RemappingURLClassLoader.findClass(RemappingURLClassLoader.java:80)
[email protected]/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
[email protected]/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
me.lucko.luckperms.lib.okhttp3.RealCall.enqueue(RealCall.java:93)
me.lucko.luckperms.lib.okhttp3.internal.ws.RealWebSocket.connect(RealWebSocket.java:190)
me.lucko.luckperms.lib.okhttp3.OkHttpClient.newWebSocket(OkHttpClient.java:409)
me.lucko.luckperms.common.http.BytesocksClient.createSocket(BytesocksClient.java:80)
me.lucko.luckperms.common.webeditor.socket.WebEditorSocket.initialize(WebEditorSocket.java:89)
me.lucko.luckperms.common.webeditor.WebEditorSession.createSocket(WebEditorSession.java:95)
me.lucko.luckperms.common.webeditor.WebEditorSession.open(WebEditorSession.java:87)
me.lucko.luckperms.common.webeditor.WebEditorSession.createAndOpen(WebEditorSession.java:62)
me.lucko.luckperms.common.commands.misc.EditorCommand.execute(EditorCommand.java:111)
me.lucko.luckperms.common.command.abstraction.SingleCommand.execute(SingleCommand.java:56)
me.lucko.luckperms.common.command.abstraction.SingleCommand.execute(SingleCommand.java:48)
me.lucko.luckperms.common.command.CommandManager.execute(CommandManager.java:265)
me.lucko.luckperms.common.command.CommandManager.lambda$executeCommand$1(CommandManager.java:169)
me.lucko.luckperms.common.command.CommandManager$$Lambda$50394/0x00000008063c9218.run(Unknown Source)
[email protected]/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[email protected]/java.lang.Thread.run(Thread.java:833)
commented

This isn't really enough info to narrow it down, if you could possibly take a spark when the lag happens, that'd help.

However, magma is known to cause issues, and there's not a whole lot we can do about that.

commented

its quite difficult but I can try to get spark to work during loading phase.

Hmm tried a different hybrid. Same run in. Using arclight with forge 40.1.68

commented

Please open a new issue with a spark report if you are still able to reproduce using the latest version.