Folia support - #312
Conversation
|
Now this spark can't run on Java older than 17, this should be fixed (?) or it should be mentioned on the page |
|
I haven't decided what to do about that, but for the moment it doesn't matter because Folia only supports 17+ anyway. |
|
|
isn't often, but happens |
[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 |
|
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) |
|
Giant Folia Spark Error |
|
Will there be an update for Folia 1.20? Right now this version of spark doesn't work. |
|
^ |
This comment was marked as outdated.
This comment was marked as outdated.
991276d to
fbd2fd7
Compare
|
[02:56:47 INFO]: kumorio issued server command: /spark profiler start |
Spark profiler stop doesn't work either. https://mclo.gs/whKrkCK |
|
|
|
Getting this issue when doing /spark profiler open: |
|
Any chance we can get a 1.20.1 folia version? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
dc5cfcf to
2710d63
Compare
|
After using it for some time I have 0 issues, would love to see a PR on the main branch ! |
+1 |
|
@lucko can we please have this merged into main and released? |
| static { | ||
| boolean active = false; | ||
| try { | ||
| Class.forName("io.papermc.paper.threadedregions.scheduler.RegionScheduler"); |
There was a problem hiding this comment.
This class is present in paper now, too. It should rather check for io.papermc.paper.threadedregions.RegionizedServer.
|
I have rebased and also setup a Jenkins build for this branch :) |
|
really, when been is merged? |
|
update to 1.21 please |
|
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 |
|
Merged into spark-extra-platforms: lucko/spark-extra-platforms@34fe9d5 Builds can be downloaded from: https://ci.lucko.me/job/spark-extra-platforms/ |

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-extra-platforms/