Skip to content

java.util.ConcurrentModificationException when using array jobs in Slurm #6108

Description

@xsvato01

Hi,
Sometimes I am getting java.util.ConcurrentModificationException errors by Nextflow when using array on jobs submitted to Slurm. It hapens quite randomly, and usually is successful upon re-run.


May-21 05:20:24.920 [Actor Thread 121] DEBUG nextflow.processor.TaskProcessor - Handling unexpected condition for
  task: name=Analyze:JoinPQarms (F145125 for loss using 1 CPUs and 64 MB memory); work-dir=/analysis/work/79/f38ad66152498f507edd28f58467fb
  error [java.util.ConcurrentModificationException]: java.util.ConcurrentModificationException
May-21 05:20:24.919 [Actor Thread 122] ERROR nextflow.processor.TaskProcessor - Error executing process > 'Analyze:Aneuploidies:Wisecondor:SplitLossesGains (F146225 using 1 CPUs and 64 MB memory)'

Caused by:
  java.util.ConcurrentModificationException


java.util.ConcurrentModificationException: null
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1095)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:1049)
	at nextflow.executor.BashWrapperBuilder.createContainerBuilder(BashWrapperBuilder.groovy:706)
	at nextflow.executor.BashWrapperBuilder.makeBinding(BashWrapperBuilder.groovy:286)
	at nextflow.executor.BashWrapperBuilder.buildNew0(BashWrapperBuilder.groovy:410)
	at nextflow.executor.BashWrapperBuilder.buildNew0(BashWrapperBuilder.groovy:172)
	at nextflow.executor.BashWrapperBuilder.build(BashWrapperBuilder.groovy:425)
	at nextflow.executor.GridTaskHandler.prepareLauncher(GridTaskHandler.groovy:107)
	at nextflow.processor.TaskArrayCollector.createTaskArray(TaskArrayCollector.groovy:141)
	at nextflow.processor.TaskArrayCollector.collect(TaskArrayCollector.groovy:103)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.processor.TaskProcessor.submitTask(TaskProcessor.groovy:2339)
	at nextflow.processor.TaskProcessor.checkCachedOrLaunchTask(TaskProcessor.groovy:839)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.processor.TaskProcessor.invokeTask(TaskProcessor.groovy:655)
	at nextflow.processor.InvokeTaskAdapter.call(InvokeTaskAdapter.groovy:52)
	at groovyx.gpars.dataflow.operator.DataflowOperatorActor.startTask(DataflowOperatorActor.java:120)
	at groovyx.gpars.dataflow.operator.ForkingDataflowOperatorActor.access$001(ForkingDataflowOperatorActor.java:35)
	at groovyx.gpars.dataflow.operator.ForkingDataflowOperatorActor$1.run(ForkingDataflowOperatorActor.java:58)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

https://stackoverflow.com/questions/14948971/why-does-arraylist-not-throw-concurrentmodificationexception-when-modified-from

nextflow version 24.10.4.5934
openjdk 21.0.7 2025-04-15
OpenJDK Runtime Environment (build 21.0.7+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.7+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions