[Soot-list] OutOfMemory Error

Stefan Gommer listenbaer at gmail.com
Mon May 5 20:36:52 EDT 2014


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:2342)
	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:4874)
	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(IFDSSolver.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:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	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:2342)
	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:4874)
	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(IFDSSolver.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:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:996)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
	at heros.solver.CountLatch.awaitZero(CountLatch.java:75)
	at heros.solver.CountingThreadPoolExecutor.awaitCompletion(CountingThreadPoolExecutor.java:67)
	at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.runExecutorAndAwaitCompletion(IFDSSolver.java:200)
	at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValuesAndShutdown(IFDSSolver.java:181)
	at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:157)
	at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.java: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.runExecutorAndAwaitCompletion(IFDSSolver.java:206)
	at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValuesAndShutdown(IFDSSolver.java:181)
	at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:157)
	at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.java: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:2342)
	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:4874)
	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(IFDSSolver.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:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	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/20140506/49587486/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140506/49587486/attachment-0001.bin 


More information about the Soot-list mailing list