Skip to content

java.util.ConcurrentModificationException #1771

@fo40225

Description

@fo40225

When opening a large number of files via drag and drop, the following error message occurs:

SEVERE [LongRunningTask] Exception running task
SEVERE [LongRunningTask] java.util.ConcurrentModificationException
        at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1096)
        at java.base/java.util.ArrayList$Itr.next(ArrayList.java:1050)
        at org.igv/org.broad.igv.track.TrackGroup.getVisibleTracks(TrackGroup.java:90)
        at org.igv/org.broad.igv.ui.IGV.lambda$visibleTracks$23(IGV.java:2380)
        at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:288)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.LinkedList$LLSpliterator.forEachRemaining(LinkedList.java:1250)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:723)
        at org.igv/org.broad.igv.ui.IGV.visibleTracks(IGV.java:2381)
        at org.igv/org.broad.igv.ui.IGV.repaint(IGV.java:2275)
        at org.igv/org.broad.igv.ui.IGV.repaint(IGV.java:2261)
        at org.igv/org.broad.igv.ui.IGV.lambda$load$6(IGV.java:1321)
        at org.igv/org.broad.igv.util.LongRunningTask.call(LongRunningTask.java:73)
        at org.igv/org.broad.igv.util.LongRunningTask.call(LongRunningTask.java:43)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
        at java.base/java.lang.Thread.run(Thread.java:1474)

However, when using File > Load from file... to open the same large number of files simultaneously, it works normally.

Environment Information:

openjdk version "25" 2025-09-16 LTS
OpenJDK Runtime Environment Microsoft-12398178 (build 25+36-LTS)
OpenJDK 64-Bit Server VM Microsoft-12398178 (build 25+36-LTS, mixed mode, sharing)
INFO [Main] Startup  IGV Version 2.19.5 07/09/2025 01:47 PM
INFO [Main] Java 25 (build 25+36-LTS) 2025-09-16
INFO [Main] Java Vendor: Microsoft https://www.microsoft.com
INFO [Main] JVM: OpenJDK 64-Bit Server VM Microsoft-12398178
INFO [Main] OS: Windows Server 2022 10.0 amd64

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