Skip to content

Intermittent ConcurrentModificationException error #6410

@muffato

Description

@muffato

Hello,

We're getting this intermittent error

java.util.ConcurrentModificationException: null
        at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
        at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
        at nextflow.Session.callIgniters(Session.groovy:545)
        at nextflow.Session.fireDataflowNetwork(Session.groovy:539)
        at nextflow.script.ScriptRunner.run(ScriptRunner.groovy:250)
        at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:139)
        at nextflow.cli.CmdRun.run(CmdRun.groovy:379)
        at nextflow.cli.Launcher.run(Launcher.groovy:513)
        at nextflow.cli.Launcher.main(Launcher.groovy:673)

The error is intermittent, and while we're bumping into this error more regularly these days, we also have hundreds of successful runs. When it happens, it's very early on, before any job is even submitted. As far as I can tell, Nextflow hasn't even finished parsing all the files / preparing everything.

Here are the logs of two failes runs:
ilEpiCruc3.nextflow.log
ilGodZava5.nextflow.log

Compared to a successful run, some [main] DEBUG nextflow.processor.TaskProcessor - Starting process lines are missing.

There are similarities with #675. We do define a channel by concatenating channels made from remote (https) paths

    Channel.empty()
        .concat( Channel.fromPath(params.blastn).map { tuple(["type": "blastn"], it) } )
        .concat( Channel.fromPath(params.blastx).map { tuple(["type": "blastx"], it) } )
        .concat( Channel.fromPath(params.blastp).map { tuple(["type": "blastp"], it) } )
        .concat( params.precomputed_busco ? Channel.fromPath(params.precomputed_busco).map { tuple([ "type": "precomputed_busco"], it ) } : Channel.empty() )
        .concat( params.busco ? Channel.fromPath(params.busco).map { tuple([ "type": "busco"], it ) } : Channel.empty() )
        .concat( Channel.fromPath(params.taxdump).map { tuple(["type": "taxdump"], it) } )
        .set { ch_databases }

Can it be related ?

Nextflow and system info:

Version: 25.04.6 build 5954
Created: 01-07-2025 11:27 UTC (12:27 BST)
System: Linux 5.15.0-141-generic
Runtime: Groovy 4.0.26 on OpenJDK 64-Bit Server VM 17.0.15+6-LTS
Encoding: UTF-8 (UTF-8)
Process: 2880498@tol-1-2-1 [10.160.8.36]
CPUs: 2 - Mem: 376.5 GB (139 GB) - Swap: 19.5 GB (19.4 GB)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions