[Soot-list] I got a heap memory error

Eric Bodden eric.bodden at ec-spride.de
Wed Dec 21 07:41:09 EST 2011


Hmm, indeed there appears to be an infinite loop in the worklist
algorithm of the type assigner.

Does this also happen when you do not use the phantom-refs option? The
use of phantom refs applies some tweaks to the type assigner, not all
of which may be correct.

Eric

2011/12/21 Shim Gyuhang <plto001 at gmail.com>:
> I've tried the command from email you sent. But we still had the same error
> message from Soot framework.
>
> For your reference, I ran the Visual VM to check what type of data is most
> used during execution.
> As a result, about 1.5 GB of memory was assigned for HashMap. I assumed
> there is an infinite loop maybe...
>
> Is there any solution?
>
> --------------------------------------
> Thanks.
> Life is good. All the time. :)
>
> Fasoo.com Inc, PA dev team
> Gyuhang Shim starblood at fasoo.com
>
> Dec 21, 2011, 1:50 AM, Rule One 작성:
>
> Try,
>
> java -Xms2048m -Xmx2048m -jar sootclasses.jar -cp /tmp
> org.apache.harmony.luni.tests.java.util.Arrays2Test -allow-phantom-refs
>
>
> From: plto001 at gmail.com
> Date: Tue, 20 Dec 2011 18:21:35 +0900
> To: soot-list at sable.mcgill.ca
> CC: pa_dev at fasoo.com
> Subject: [Soot-list] I got a heap memory error
>
>
> Hello.
> My name is Gyuhang from Fasoo.com Inc.
>
> We have been used soot framework for analyzing Java codes.
> Yesterday, we have a Heap Memory Error from soot framework while analyzing
> Android source codes.
>
> The stack trace is like below.
>
> Soot has run out of the memory allocated to it by the Java VM.
> To allocate more memory to Soot, use the -Xmx switch to Java.
> For example (for 400MB): java -Xmx400m soot.Main ...
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> 	at java.util.LinkedList.addBefore(LinkedList.java:778)
> 	at java.util.LinkedList.addLast(LinkedList.java:164)
> 	at soot.jimple.toolkits.typing.fast.QueuedSet.addLast(QueuedSet.java:64)
> 	at soot.jimple.toolkits.typing.fast.QueuedSet.addLast(QueuedSet.java:74)
> 	at
> soot.jimple.toolkits.typing.fast.TypeResolver.applyAssignmentConstraints(TypeResolver.java:450)
> 	at
> soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:113)
> 	at
> soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:101)
> 	at soot.BodyTransformer.transform(BodyTransformer.java:51)
> 	at soot.Transform.apply(Transform.java:104)
> 	at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:66)
> 	at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:89)
> 	at soot.Pack.apply(Pack.java:124)
> 	at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:117)
> 	at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
> 	at soot.SootMethod.retrieveActiveBody(SootMethod.java:315)
> 	at soot.PackManager.retrieveAllBodies(PackManager.java:989)
> 	at soot.PackManager.runPacks(PackManager.java:338)
> 	at soot.Main.run(Main.java:198)
> 	at soot.Main.main(Main.java:141)
>
>
> The command line input for soot framework is like below. (I located the
> package to /tmp directory.)
> java -Xmx2048m -jar sootclasses.jar -cp /tmp
> org.apache.harmony.luni.tests.java.util.Arrays2Test -allow-phantom-refs
>
> It will be very thankful, if you have me some advices.
>
> The attached file below contains whole directory structure contains class
> file that causes Heap Memory Error.
>
>
>
> -------------------------------------- Thanks. Life is good. All the time.
> :) Fasoo.com Inc, PA dev team Gyuhang Shim starblood at fasoo.com
> _______________________________________________ Soot-list mailing
> list Soot-list at sable.mcgill.ca http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Eric Bodden, Ph.D., http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Principal Investigator in Secure Services at CASED
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt


More information about the Soot-list mailing list