[Soot-list] Timer bug in Heros?
Marc-André
Marc-André
Mon Jan 7 06:21:04 EST 2013
Hello,
I am trying to do a simple taint analysis in Heros and I keep on getting this
problem, sooner or later:
* OutofMemoryError - even with 1 or 1.5 Gb
* timer graphTimer has already been started!
I am pasting the full trace below.
Can anyone tell me what could be behind this?
--
Marc-André Laverdière-Papineau
Doctorant - PhD Candidate
Exception in thread "pool-2-thread-2"
com.google.common.util.concurrent.ExecutionError: java.lang.OutOfMemoryError:
GC overhead limit exceeded
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2256)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:198)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver.processCall(IDESolver.java:405)
at heros.solver.IDESolver.access$000(IDESolver.java:68)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:659)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashMap.newKeyIterator(HashMap.java:940)
at java.util.HashMap$KeySet.iterator(HashMap.java:974)
at java.util.HashSet.iterator(HashSet.java:170)
at java.util.AbstractCollection.containsAll(AbstractCollection.java:307)
at java.util.AbstractSet.equals(AbstractSet.java:95)
at java.util.Collections$UnmodifiableSet.equals(Collections.java:1123)
at
soot.toolkits.exceptions.ThrowableSet$Manager.registerSetIfNew(ThrowableSet.java:318)
at
soot.toolkits.exceptions.ThrowableSet$Manager.access$900(ThrowableSet.java:92)
at
soot.toolkits.exceptions.ThrowableSet.whichCatchableAs(ThrowableSet.java:1008)
at
soot.toolkits.graph.ExceptionalUnitGraph.buildExceptionDests(ExceptionalUnitGraph.java:360)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:279)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
Exception in thread "pool-2-thread-9"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:198)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver.processCall(IDESolver.java:405)
at heros.solver.IDESolver.access$000(IDESolver.java:68)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:659)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler
in thread "pool-2-thread-2"
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 13 more
Exception in thread "pool-2-thread-8"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:180)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:663)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 11 more
Exception in thread "pool-2-thread-7" Exception in thread "pool-2-thread-4"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:198)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver.processCall(IDESolver.java:405)
at heros.solver.IDESolver.access$000(IDESolver.java:68)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:659)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 13 more
Exception in thread "pool-2-thread-6"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:180)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:663)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 11 more
Exception in thread "pool-2-thread-5"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:198)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getStartPointsOf(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver.processCall(IDESolver.java:405)
at heros.solver.IDESolver.access$000(IDESolver.java:68)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:659)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 13 more
Exception in thread "pool-2-thread-3" Exception in thread "pool-2-thread-1"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:180)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:663)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 11 more
Exception in thread "pool-2-thread-20" Exception in thread "pool-2-thread-17"
Exception in thread "pool-2-thread-19" Exception in thread "pool-2-thread-15"
com.google.common.util.concurrent.UncheckedExecutionException:
java.lang.RuntimeException: timer graphTimer has already been started!
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4884)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.getOrCreateUnitGraph(JimpleBasedInterproceduralCFG.java:155)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:180)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.isExitStmt(JimpleBasedInterproceduralCFG.java:46)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:663)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: timer graphTimer has already been
started!
at soot.Timer.start(Timer.java:103)
at
soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:259)
at
soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:165)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG.makeGraph(JimpleBasedInterproceduralCFG.java:159)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:70)
at
soot.jimple.toolkits.ide.icfg.JimpleBasedInterproceduralCFG$1.load(JimpleBasedInterproceduralCFG.java:68)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 11 more
Exception in thread "pool-2-thread-14"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler
in thread "pool-2-thread-17"
Exception in thread "pool-2-thread-13"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler
in thread "pool-2-thread-13"
More information about the Soot-list
mailing list