[Soot-list] OutOfMemory Error
Steven Arzt
Steven.Arzt at cased.de
Wed Jul 2 17:03:22 EDT 2014
Increse your Java heap space using the -Xmx4g VM parameter which will set it
to 4 gigabytes. Give it more, if your machine can spare it. The larger your
app is, the more memory you need. You can use some of the options from the
wiki
(https://github.com/secure-software-engineering/soot-infoflow-android/wiki#r
unning-flowdroid) to trade precision for increased performance.
Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA]
Im Auftrag von Stefan Gommer
Gesendet: Dienstag, 6. Mai 2014 02:37
An: soot-list at CS.McGill.CA
Betreff: [Soot-list] OutOfMemory Error
I was trying to do a simple analysis using flowdroid but I keep getting this
error:
java.lang.OutOfMemoryError: GC overhead limit exceeded (see full trace
below)
I was already using all of the parameters to make the analysis easier and
faster.
--aliasflowins --aplength 1 --layoutmode none --nostatic -layoutmode none
I think that there are too many objects for the garbage collector to be
freed in a too short amount of time? Is there something I can do about it?
Regards,
Stefan
java.lang.OutOfMemoryError: GC overhead limit exceeded
at
com.google.common.cache.LocalCache$Strength$2.referenceValue(LocalCache.java
:397)
at
com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2225)
at
com.google.common.cache.LocalCache$Segment.storeLoadedValue(LocalCache.java:
3206)
at
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java
:2415)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2
342)
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
at
com.google.common.cache.LocalCache.get(LocalCache.java:4000)
at
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:487
4)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache
.java:4880)
at
heros.FlowFunctionCache.getNormalFlowFunction(FlowFunctionCache.java:63)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolv
er.java:415)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java
:60)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run
(IFDSSolver.java:569)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "pool-1-thread-2" java.lang.OutOfMemoryError: GC
overhead limit exceeded
at
com.google.common.cache.LocalCache$Strength$2.referenceValue(LocalCache.java
:397)
at
com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2225)
at
com.google.common.cache.LocalCache$Segment.storeLoadedValue(LocalCache.java:
3206)
at
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java
:2415)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2
342)
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
at
com.google.common.cache.LocalCache.get(LocalCache.java:4000)
at
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:487
4)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache
.java:4880)
at
heros.FlowFunctionCache.getNormalFlowFunction(FlowFunctionCache.java:63)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolv
er.java:415)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java
:60)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run
(IFDSSolver.java:569)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)
at java.lang.Thread.run(Thread.java:745)
java.lang.InterruptedException
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterru
ptibly(AbstractQueuedSynchronizer.java:996)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterrupt
ibly(AbstractQueuedSynchronizer.java:1303)
at heros.solver.CountLatch.awaitZero(CountLatch.java:75)
at
heros.solver.CountingThreadPoolExecutor.awaitCompletion(CountingThreadPoolEx
ecutor.java:67)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.runExecutorAndAwaitComplet
ion(IFDSSolver.java:200)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValu
esAndShutdown(IFDSSolver.java:181)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:157)
at
soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.j
ava:108)
at
soot.jimple.infoflow.Infoflow.runAnalysis(Infoflow.java:434)
at
soot.jimple.infoflow.Infoflow.computeInfoflow(Infoflow.java:283)
at
soot.jimple.infoflow.android.SetupApplication.runInfoflow(Unknown Source)
at
soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Unknown Source)
at soot.jimple.infoflow.android.TestApps.Test.main(Unknown
Source)
Exception in thread "main" java.lang.RuntimeException: There were exceptions
during IDE analysis. Exiting.
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.runExecutorAndAwaitComplet
ion(IFDSSolver.java:206)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValu
esAndShutdown(IFDSSolver.java:181)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:157)
at
soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.j
ava:108)
at
soot.jimple.infoflow.Infoflow.runAnalysis(Infoflow.java:434)
at
soot.jimple.infoflow.Infoflow.computeInfoflow(Infoflow.java:283)
at
soot.jimple.infoflow.android.SetupApplication.runInfoflow(Unknown Source)
at
soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Unknown Source)
at soot.jimple.infoflow.android.TestApps.Test.main(Unknown
Source)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at
com.google.common.cache.LocalCache$Strength$2.referenceValue(LocalCache.java
:397)
at
com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2225)
at
com.google.common.cache.LocalCache$Segment.storeLoadedValue(LocalCache.java:
3206)
at
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java
:2415)
at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2
342)
at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
at
com.google.common.cache.LocalCache.get(LocalCache.java:4000)
at
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:487
4)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache
.java:4880)
at
heros.FlowFunctionCache.getNormalFlowFunction(FlowFunctionCache.java:63)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolv
er.java:415)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java
:60)
at
soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run
(IFDSSolver.java:569)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)
at java.lang.Thread.run(Thread.java:745)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140702/14e7efd1/attachment-0001.html
More information about the Soot-list
mailing list