Skip to content

ConcurrentModificationException in ResolveMemberAmbiguityPass #2678

Description

@peckto

Stack trace

Caused by: java.util.ConcurrentModificationException
        at java.base/java.util.IdentityHashMap$IdentityHashMapIterator.nextIndex(IdentityHashMap.java:757)
        at java.base/java.util.IdentityHashMap$KeyIterator.next(IdentityHashMap.java:848)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalkerKt.replace(SubgraphWalker.kt:563)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalkerKt.replace(SubgraphWalker.kt:429)
        at de.fraunhofer.aisec.cpg.passes.ResolveMemberAmbiguityPass.resolveAmbiguity(ResolveMemberAmbiguityPass.kt:167)
        at de.fraunhofer.aisec.cpg.passes.ResolveMemberAmbiguityPass.accept$lambda$0(ResolveMemberAmbiguityPass.kt:76)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$ScopedWalker.registerHandler$lambda$0(SubgraphWalker.kt:325)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$ScopedWalker.handleNode(SubgraphWalker.kt:387)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$ScopedWalker.iterate$lambda$0$0(SubgraphWalker.kt:349)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$IterativeGraphWalker.iterateAll(SubgraphWalker.kt:256)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$IterativeGraphWalker.iterate(SubgraphWalker.kt:234)
        at de.fraunhofer.aisec.cpg.helpers.SubgraphWalker$ScopedWalker.iterate(SubgraphWalker.kt:353)
        at de.fraunhofer.aisec.cpg.passes.ResolveMemberAmbiguityPass.accept(ResolveMemberAmbiguityPass.kt:87)
        at de.fraunhofer.aisec.cpg.passes.ResolveMemberAmbiguityPass.accept(ResolveMemberAmbiguityPass.kt:61)
        at de.fraunhofer.aisec.cpg.passes.PassKt.executePass(Pass.kt:603)
        at de.fraunhofer.aisec.cpg.passes.PassKt.executePassesSequentially(Pass.kt:332)
        at de.fraunhofer.aisec.cpg.TranslationManager.analyzeNonAsync(TranslationManager.kt:101)
        at de.fraunhofer.aisec.cpg.TranslationManager.analyze$lambda$0(TranslationManager.kt:81)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1789)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1781)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)

Unexpected behavior

ConcurrentModificationException

Code of interest

git clone https://github.com/msoos/cryptominisat.git
cd cryptominisat
cpg-neo4j --no-neo4j `find scripts -name '*.py'|grep -v check_gauss.py`

Extensions to the library, e.g. added or changed LanguageFrontends or Passes

Enable Python language frontend

Changes to the configuration

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions