spark icon indicating copy to clipboard operation
spark copied to clipboard

Folia support

Open lucko opened this issue 2 years ago • 26 comments

Adds support for Paper's regionised/multithreading Folia project.

This is an early beta, there might be bugs (although I have tested it!)

Test build

There is a jar you can download from Jenkins: https://ci.lucko.me/job/spark-folia/

lucko avatar Apr 02 '23 11:04 lucko

Now this spark can't run on Java older than 17, this should be fixed (?) or it should be mentioned on the page

PanSzelescik avatar Apr 11 '23 20:04 PanSzelescik

I haven't decided what to do about that, but for the moment it doesn't matter because Folia only supports 17+ anyway.

lucko avatar Apr 12 '23 19:04 lucko

[09:58:35 WARN]: java.lang.NullPointerException: Cannot invoke "io.papermc.paper.threadedregions.TickData$TickReportData.tpsData()" because "data" is null
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.lambda$tps$3(FoliaTickStatistics.java:139)
[09:58:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:248)
[09:58:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[09:58:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[09:58:35 WARN]:        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
[09:58:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
[09:58:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[09:58:35 WARN]:        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
[09:58:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[09:58:35 WARN]:        at java.base/java.util.stream.DoublePipeline.collect(DoublePipeline.java:541)
[09:58:35 WARN]:        at java.base/java.util.stream.DoublePipeline.average(DoublePipeline.java:493)
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps(FoliaTickStatistics.java:140)
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps1Min(FoliaTickStatistics.java:65)
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measure(WindowStatisticsCollector.java:166)
[09:58:35 WARN]:        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measureNow(WindowStatisticsCollector.java:123)
[09:58:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:140)
[09:58:35 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[09:58:35 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[09:58:35 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[09:58:35 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[09:58:35 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[09:58:35 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)

masmc05 avatar Apr 16 '23 09:04 masmc05

isn't often, but happens

masmc05 avatar Apr 16 '23 10:04 masmc05

image

[06:45:57 INFO]: masmc05 issued server command: /spark profiler start --timeout 11
[06:45:57 INFO]: [⚡] Starting a new profiler, please wait...
[06:45:57 INFO]: [⚡] Profiler is now running! (async)
[06:45:57 INFO]: [⚡] The results will be automatically returned after the profiler has been running for 11s.
[06:46:33 WARN]: java.lang.IllegalStateException: Profiler job no longer active!
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.checkActive(AsyncProfilerJob.java:117)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.stop(AsyncProfilerJob.java:188)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:125)
[06:46:33 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:46:33 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:46:33 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)
[06:46:33 WARN]: java.lang.NullPointerException: Cannot invoke "io.papermc.paper.threadedregions.TickData$TickReportData.tpsData()" because "data" is null
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.lambda$tps$3(FoliaTickStatistics.java:139)
[06:46:33 WARN]:        at java.base/java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:248)
[06:46:33 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[06:46:33 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[06:46:33 WARN]:        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
[06:46:33 WARN]:        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
[06:46:33 WARN]:        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[06:46:33 WARN]:        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
[06:46:33 WARN]:        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[06:46:33 WARN]:        at java.base/java.util.stream.DoublePipeline.collect(DoublePipeline.java:541)
[06:46:33 WARN]:        at java.base/java.util.stream.DoublePipeline.average(DoublePipeline.java:493)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps(FoliaTickStatistics.java:140)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps1Min(FoliaTickStatistics.java:65)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measure(WindowStatisticsCollector.java:166)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measureNow(WindowStatisticsCollector.java:123)
[06:46:33 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:140)
[06:46:33 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:46:33 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:46:33 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:46:33 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)
[06:46:34 INFO]: masmc05 issued server command: /spark profiler info
[06:46:57 WARN]: java.lang.IllegalStateException: Profiler job no longer active!
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.checkActive(AsyncProfilerJob.java:117)
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.stop(AsyncProfilerJob.java:188)
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:125)
[06:46:57 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:46:57 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:46:57 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)
[06:46:57 WARN]: java.lang.IllegalStateException: Another profiler is already active: me.lucko.spark.common.sampler.async.AsyncProfilerJob@478eb5df
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.createNew(AsyncProfilerJob.java:64)
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerAccess.startNewProfilerJob(AsyncProfilerAccess.java:103)
[06:46:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:132)
[06:46:57 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:46:57 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:46:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:46:57 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)

Profilers don't work on folia, and

[06:48:57 WARN]: java.lang.IllegalStateException: Profiler job no longer active!
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.checkActive(AsyncProfilerJob.java:117)
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.stop(AsyncProfilerJob.java:188)
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:125)
[06:48:57 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:48:57 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:48:57 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)
[06:48:57 WARN]: java.lang.IllegalStateException: Another profiler is already active: me.lucko.spark.common.sampler.async.AsyncProfilerJob@669c40ab
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.createNew(AsyncProfilerJob.java:64)
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncProfilerAccess.startNewProfilerJob(AsyncProfilerAccess.java:103)
[06:48:57 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:132)
[06:48:57 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
[06:48:57 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:48:57 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:48:57 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)

starts spamming in console after trying to use them

masmc05 avatar Apr 17 '23 06:04 masmc05

also when i tried to stop the background profiler i had this error

[06:45:35 INFO]: masmc05 issued server command: /spark profiler stop
[06:45:35 ERROR]: [spark] Exception occurred whilst executing a spark command
[06:45:35 WARN]: java.lang.NullPointerException: Cannot invoke "io.papermc.paper.threadedregions.TickData$TickReportData.tpsData()" because "data" is null
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.lambda$tps$3(FoliaTickStatistics.java:139)
[06:45:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:248)
[06:45:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[06:45:35 WARN]:        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[06:45:35 WARN]:        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
[06:45:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
[06:45:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[06:45:35 WARN]:        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
[06:45:35 WARN]:        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[06:45:35 WARN]:        at java.base/java.util.stream.DoublePipeline.collect(DoublePipeline.java:541)
[06:45:35 WARN]:        at java.base/java.util.stream.DoublePipeline.average(DoublePipeline.java:493)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps(FoliaTickStatistics.java:140)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps1Min(FoliaTickStatistics.java:65)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measure(WindowStatisticsCollector.java:166)
[06:45:35 WARN]:        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measureNow(WindowStatisticsCollector.java:123)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.sampler.async.AsyncSampler.stop(AsyncSampler.java:186)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.command.modules.SamplerModule.profilerStop(SamplerModule.java:398)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.command.modules.SamplerModule.profiler(SamplerModule.java:141)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.SparkPlatform.executeCommand0(SparkPlatform.java:430)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.common.SparkPlatform.lambda$executeCommand$2(SparkPlatform.java:339)
[06:45:35 WARN]:        at spark-bukkit-1.10-SNAPSHOT.jar//me.lucko.spark.bukkit.folia.FoliaScheduler.lambda$executeAsync$0(FoliaScheduler.java:42)
[06:45:35 WARN]:        at io.papermc.paper.threadedregions.scheduler.FoliaAsyncScheduler$AsyncScheduledTask.run(FoliaAsyncScheduler.java:216)
[06:45:35 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[06:45:35 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[06:45:35 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)

masmc05 avatar Apr 17 '23 06:04 masmc05

https://mclo.gs/uOSVUdo

Giant Folia Spark Error

Yomamaeatstoes avatar May 26 '23 16:05 Yomamaeatstoes

Will there be an update for Folia 1.20? Right now this version of spark doesn't work.

Yomamaeatstoes avatar Jun 16 '23 01:06 Yomamaeatstoes

^

ewof avatar Jun 25 '23 03:06 ewof

spark-bukkit-folia-mc1.20.jar.zip

Updated for MC 1.20 :)

lucko avatar Jun 25 '23 08:06 lucko

[02:56:47 INFO]: kumorio issued server command: /spark profiler start [02:56:47 INFO]: [⚡] Starting a new profiler, please wait... [02:56:47 ERROR]: [spark] Exception occurred whilst executing a spark command [02:56:47 WARN]: java.lang.IllegalStateException: Another profiler is already active: me.lucko.spark.common.sampler.async.AsyncProfilerJob@26f24cad [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.sampler.async.AsyncProfilerJob.createNew(AsyncProfilerJob.java:64) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.sampler.async.AsyncProfilerAccess.startNewProfilerJob(AsyncProfilerAccess.java:103) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.sampler.async.AsyncSampler.start(AsyncSampler.java:94) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.sampler.SamplerBuilder.start(SamplerBuilder.java:147) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.command.modules.SamplerModule.profilerStart(SamplerModule.java:251) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.command.modules.SamplerModule.profiler(SamplerModule.java:146) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.SparkPlatform.executeCommand0(SparkPlatform.java:430) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.common.SparkPlatform.lambda$executeCommand$2(SparkPlatform.java:339) [02:56:47 WARN]: at spark-bukkit-folia-mc1.20.jar//me.lucko.spark.bukkit.folia.FoliaScheduler.lambda$executeAsync$0(FoliaScheduler.java:42) [02:56:47 WARN]: at io.papermc.paper.threadedregions.scheduler.FoliaAsyncScheduler$AsyncScheduledTask.run(FoliaAsyncScheduler.java:216) [02:56:47 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [02:56:47 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [02:56:47 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)

xKumorio avatar Jun 25 '23 23:06 xKumorio

spark-bukkit-folia-mc1.20.jar.zip

Updated for MC 1.20 :)

Spark profiler stop doesn't work either. https://mclo.gs/whKrkCK

Yomamaeatstoes avatar Jun 26 '23 20:06 Yomamaeatstoes

@lucko

spark-bukkit-folia-mc1.20.jar.zip Updated for MC 1.20 :)

Spark profiler stop doesn't work either. https://mclo.gs/whKrkCK

Yomamaeatstoes avatar Jul 03 '23 04:07 Yomamaeatstoes

[13:16:54 WARN]: java.lang.NoSuchMethodError: 'net.minecraft.server.level.ServerLevel org.bukkit.craftbukkit.v1_20_R1.CraftWorld.getHandle()'
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.getRegions(FoliaTickStatistics.java:101)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.lambda$new$0(FoliaTickStatistics.java:50)
[13:16:54 WARN]:        at com.google.common.base.Suppliers$ExpiringMemoizingSupplier.get(Suppliers.java:262)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps(FoliaTickStatistics.java:109)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps1Min(FoliaTickStatistics.java:65)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measure(WindowStatisticsCollec
tor.java:166)
[13:16:54 WARN]:        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.common.sampler.window.WindowStatisticsCollector.measureNow(WindowStatisticsCol
lector.java:123)
[13:16:54 WARN]:        at spark-1.10.43-bukkit.jar//me.lucko.spark.common.sampler.async.AsyncSampler.rotateProfilerJob(AsyncSampler.java:140)
[13:16:54 WARN]:        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[13:16:54 WARN]:        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
[13:16:54 WARN]:        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305
)
[13:16:54 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[13:16:54 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[13:16:54 WARN]:        at java.base/java.lang.Thread.run(Thread.java:833)

ewof avatar Jul 06 '23 13:07 ewof

Getting this issue when doing /spark profiler open:


[23:57:40 INFO]: [⚡] Starting a new profiler, please wait...
[23:57:40 INFO]: [⚡] Profiler is now running! (async)
[23:57:40 INFO]: [⚡] It will run in the background until it is stopped by an admin.
[23:57:40 INFO]: [⚡] To stop the profiler and upload the results, run:
[23:57:40 INFO]: [⚡]   /spark profiler stop
[23:57:40 INFO]: [⚡] To view the profiler while it's running, run:
[23:57:40 INFO]: [⚡]   /spark profiler open
[23:57:43 INFO]: xdLulux issued server command: /spark profiler open
[23:57:43 WARN]: [spark] Async task for spark v1.10.43 generated an exception
java.lang.NoSuchMethodError: 'net.minecraft.server.level.ServerLevel org.bukkit.craftbukkit.v1_20_R1.CraftWorld.getHandle()'
        at me.lucko.spark.bukkit.folia.FoliaTickStatistics.getRegions(FoliaTickStatistics.java:101) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.bukkit.folia.FoliaTickStatistics.lambda$new$0(FoliaTickStatistics.java:50) ~[spark-bukkit-folia-mc1.20.jar:?]
        at com.google.common.base.Suppliers$ExpiringMemoizingSupplier.get(Suppliers.java:262) ~[guava-31.1-jre.jar:?]
        at me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps(FoliaTickStatistics.java:109) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.bukkit.folia.FoliaTickStatistics.tps1Min(FoliaTickStatistics.java:65) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.platform.PlatformStatisticsProvider.getPlatformStatistics(PlatformStatisticsProvider.java:164) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.sampler.AbstractSampler.writeMetadataToProto(AbstractSampler.java:195) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.sampler.async.AsyncSampler.toProto(AsyncSampler.java:224) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.command.modules.SamplerModule.handleOpen(SamplerModule.java:471) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.command.modules.SamplerModule.profilerOpen(SamplerModule.java:355) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.command.modules.SamplerModule.profiler(SamplerModule.java:126) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.SparkPlatform.executeCommand0(SparkPlatform.java:430) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.common.SparkPlatform.lambda$executeCommand$2(SparkPlatform.java:339) ~[spark-bukkit-folia-mc1.20.jar:?]
        at me.lucko.spark.bukkit.folia.FoliaScheduler.lambda$executeAsync$0(FoliaScheduler.java:42) ~[spark-bukkit-folia-mc1.20.jar:?]
        at io.papermc.paper.threadedregions.scheduler.FoliaAsyncScheduler$AsyncScheduledTask.run(FoliaAsyncScheduler.java:217) ~[folia-1.20.1.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.lang.Thread.run(Thread.java:1623) ~[?:?]

LuluxClient avatar Aug 26 '23 21:08 LuluxClient

Any chance we can get a 1.20.1 folia version?

iLemon avatar Aug 27 '23 11:08 iLemon

After using it for some time I have 0 issues, would love to see a PR on the main branch !

DarkyG2 avatar Sep 28 '23 16:09 DarkyG2

After using it for some time I have 0 issues, would love to see a PR on the main branch !

+1

ranminecraft avatar Oct 27 '23 22:10 ranminecraft

@lucko can we please have this merged into main and released?

Netherwhal avatar Feb 08 '24 07:02 Netherwhal

I have rebased and also setup a Jenkins build for this branch :)

https://ci.lucko.me/job/spark-folia/

lucko avatar Feb 09 '24 19:02 lucko

really, when been is merged?

RitaSister avatar Jun 11 '24 12:06 RitaSister

update to 1.21 please

xKumorio avatar Aug 08 '24 18:08 xKumorio

I have rebased with the latest spark changes. Folia is not yet available for 1.21 (at least, there is not a published dev-bundle yet)

lucko avatar Aug 16 '24 11:08 lucko

I have rebased with the latest spark changes. Folia is not yet available for 1.21 (at least, there is not a published dev-bundle yet)

I think you may find this useful then, https://github.com/Folia-Inquisitors/FoliaDevBundle

Yomamaeatstoes avatar Aug 19 '24 00:08 Yomamaeatstoes