[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