spark icon indicating copy to clipboard operation
spark copied to clipboard

/spark profiler stop errors and fails to output a link

Open Trinsdar opened this issue 1 year ago • 0 comments

Description

seems running /spark profiler stop errors when it's started with the --only-ticks-over flag

Reproduction Steps

start a server with spark start a profiler with --only-ticks-over, any number will do (probably) after a while, stop said profile

Expected Behaviour

it doesn't error when runing the stop command and instead outputs a link

Platform Information

  • Minecraft Version: 1.18.2
  • Platform Type: server
  • Platform Brand: Forge
  • Platform Version: 40.2.9
  • OS: arch linux

Spark Version

1.10.38

Logs and Configs

[19:37:09] [spark-worker-pool-1-thread-2/INFO] [minecraft/DedicatedServer]: [⚡] Stopping the profiler & uploading results, please wait... [19:37:09] [spark-worker-pool-1-thread-2/ERROR] [spark/]: Exception occurred whilst executing a spark command

java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@700c038[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@450150a1[Wrapped task = me.lucko.spark.common.sampler.java.TickedDataAggregator$TickList@42c2380a]] rejected from java.util.concurrent.ScheduledThreadPoolExecutor@331f11a5[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 37462] at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2065) at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:833) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:340) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:562) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.submit(ScheduledThreadPoolExecutor.java:715) at TRANSFORMER/[email protected]/me.lucko.spark.common.sampler.java.TickedDataAggregator.pushCurrentTick(TickedDataAggregator.java:119) at TRANSFORMER/[email protected]/me.lucko.spark.common.sampler.java.TickedDataAggregator.getMetadata(TickedDataAggregator.java:78) at TRANSFORMER/[email protected]/me.lucko.spark.common.sampler.AbstractSampler.writeMetadataToProto(AbstractSampler.java:183) at TRANSFORMER/[email protected]/me.lucko.spark.common.sampler.java.JavaSampler.toProto(JavaSampler.java:196) at TRANSFORMER/[email protected]/me.lucko.spark.common.command.modules.SamplerModule.handleUpload(SamplerModule.java:422) at TRANSFORMER/[email protected]/me.lucko.spark.common.command.modules.SamplerModule.profilerStop(SamplerModule.java:408) at TRANSFORMER/[email protected]/me.lucko.spark.common.command.modules.SamplerModule.profiler(SamplerModule.java:141) at TRANSFORMER/[email protected]/me.lucko.spark.common.SparkPlatform.executeCommand0(SparkPlatform.java:430) at TRANSFORMER/[email protected]/me.lucko.spark.common.SparkPlatform.lambda$executeCommand$2(SparkPlatform.java:339) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)

Extra Details

I've managed to get it to succeed one time while using only ticks over flag, not sure why it worked that time cause the next time I tried with the exact same number it failed again

Trinsdar avatar Oct 19 '23 00:10 Trinsdar