An error occurs when I am running my analysis. The message has nothing to do with my code, so I doubt it may relate to the lines below.
ProcessManifest manifest = new ProcessManifest(apkPath)
PackManager.v().runPacks();
this.sootClasses = Scene.v().getApplicationClasses();
for (SootClass clz : sootClasses) {
...
}
The error is below:
[Thread-1008] ERROR heros.solver.CountingThreadPoolExecutor - Worker thread execution failed: null
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
at soot.FastHierarchy.getSignaturePolymorphicMethod(FastHierarchy.java:932)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:833)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:785)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:227)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:213)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:304)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInstanceInvokeExpr(UnitThrowAnalysis.java:1181)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInterfaceInvokeExpr(UnitThrowAnalysis.java:998)
at soot.jimple.internal.AbstractInterfaceInvokeExpr.apply(AbstractInterfaceInvokeExpr.java:121)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:296)
at soot.dexpler.DalvikThrowAnalysis.access$600(DalvikThrowAnalysis.java:155)
at soot.dexpler.DalvikThrowAnalysis$1.caseAssignStmt(DalvikThrowAnalysis.java:228)
at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:215)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:280)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:275)
at soot.toolkits.graph.ExceptionalUnitGraph.buildExceptionDests(ExceptionalUnitGraph.java:277)
at soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:220)
at soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:127)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.newExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:55)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.createExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:50)
at soot.toolkits.scalar.LocalSplitter.internalTransform(LocalSplitter.java:109)
at soot.BodyTransformer.transform(BodyTransformer.java:52)
at soot.BodyTransformer.transform(BodyTransformer.java:56)
at soot.dexpler.DexBody.jimplify(DexBody.java:691)
at soot.dexpler.DexMethod$1.getBody(DexMethod.java:120)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:446)
at soot.PackManager.lambda$retrieveAllBodies$2(PackManager.java:1252)
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)
Exception in thread "main" java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
at soot.FastHierarchy.getSignaturePolymorphicMethod(FastHierarchy.java:932)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:833)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:785)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:227)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:213)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:304)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInstanceInvokeExpr(UnitThrowAnalysis.java:1181)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInterfaceInvokeExpr(UnitThrowAnalysis.java:998)
at soot.jimple.internal.AbstractInterfaceInvokeExpr.apply(AbstractInterfaceInvokeExpr.java:121)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:296)
at soot.dexpler.DalvikThrowAnalysis.access$600(DalvikThrowAnalysis.java:155)
at soot.dexpler.DalvikThrowAnalysis$1.caseAssignStmt(DalvikThrowAnalysis.java:228)
at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:215)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:280)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:275)
at soot.toolkits.graph.ExceptionalUnitGraph.buildExceptionDests(ExceptionalUnitGraph.java:277)
at soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:220)
at soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:127)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.newExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:55)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.createExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:50)
at soot.toolkits.scalar.LocalSplitter.internalTransform(LocalSplitter.java:109)
at soot.BodyTransformer.transform(BodyTransformer.java:52)
at soot.BodyTransformer.transform(BodyTransformer.java:56)
at soot.dexpler.DexBody.jimplify(DexBody.java:691)
at soot.dexpler.DexMethod$1.getBody(DexMethod.java:120)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:446)
at soot.PackManager.lambda$retrieveAllBodies$2(PackManager.java:1252)
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)
Exception in thread "Thread-1008" java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
at soot.FastHierarchy.getSignaturePolymorphicMethod(FastHierarchy.java:932)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:833)
at soot.FastHierarchy.resolveMethod(FastHierarchy.java:785)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:227)
at soot.SootMethodRefImpl.tryResolve(SootMethodRefImpl.java:213)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:304)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInstanceInvokeExpr(UnitThrowAnalysis.java:1181)
at soot.toolkits.exceptions.UnitThrowAnalysis$ValueSwitch.caseInterfaceInvokeExpr(UnitThrowAnalysis.java:998)
at soot.jimple.internal.AbstractInterfaceInvokeExpr.apply(AbstractInterfaceInvokeExpr.java:121)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:296)
at soot.dexpler.DalvikThrowAnalysis.access$600(DalvikThrowAnalysis.java:155)
at soot.dexpler.DalvikThrowAnalysis$1.caseAssignStmt(DalvikThrowAnalysis.java:228)
at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:215)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:280)
at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:275)
at soot.toolkits.graph.ExceptionalUnitGraph.buildExceptionDests(ExceptionalUnitGraph.java:277)
at soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:220)
at soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:127)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.newExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:55)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.createExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:50)
at soot.toolkits.scalar.LocalSplitter.internalTransform(LocalSplitter.java:109)
at soot.BodyTransformer.transform(BodyTransformer.java:52)
at soot.BodyTransformer.transform(BodyTransformer.java:56)
at soot.dexpler.DexBody.jimplify(DexBody.java:691)
at soot.dexpler.DexMethod$1.getBody(DexMethod.java:120)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:446)
at soot.PackManager.lambda$retrieveAllBodies$2(PackManager.java:1252)
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)
An error occurs when I am running my analysis. The message has nothing to do with my code, so I doubt it may relate to the lines below.
The error is below: