[Soot-list] Help (fwd)
Rahul Nagpal
rahul at csa.iisc.ernet.in
Mon May 23 15:09:53 EDT 2005
Hi,
I hope you have received my last mail (in case not the details are
given below) where I have given the exception raised by soot if I use
j2me class directly with soot.
I will be thankful if you can help (or redirect) me in this
regard. I am ready to make whatever modification are required to get the
soot working with j2me ( I will myself takeup the ptolmy inteface part later once I get
the soot working with j2me classes). But because of my inexperience with
soot I am not able to find the cause of these problems.
Thanks and Regards
Rahul
On Thu, 19 May 2005, Rahul Nagpal wrote:
-->Hi,
--> I think you are right. I should have first checked on the
-->application directly. Now I have done that I got this error[1]
-->if I use J2ME classes ( I am doing "java soot.Main -cp <the j2me class path>)
-->irrespective of whether I use -w option or not.
-->
--> Notably the ptolemy is working fine with soot when I use the
-->J2SE classes and only the use of J2ME classes causes the problem.
-->
-->Thanks and Regards
-->Rahul
-->
-->[1]
-->Exception in thread "main" java.lang.RuntimeException: This operation
-->requires resolving level HIERARCHY but java.lang.Cloneable is at resolving
-->level DANGLING
--> at soot.SootClass.checkLevel(SootClass.java:123)
--> at soot.SootClass.hasSuperclass(SootClass.java:702)
--> at soot.jimple.toolkits.typing.TypeNode.<init>(TypeNode.java:86)
--> at soot.jimple.toolkits.typing.ClassHierarchy$ConstructorChooser.caseRefType(ClassHierarchy.java:238)
--> at soot.RefType.apply(RefType.java:137)
--> at soot.jimple.toolkits.typing.ClassHierarchy$ConstructorChooser.typeNode(ClassHierarchy.java:231)
--> at soot.jimple.toolkits.typing.ClassHierarchy.typeNode(ClassHierarchy.java:127)
--> at soot.jimple.toolkits.typing.ClassHierarchy.<init>(ClassHierarchy.java:82)
--> at soot.jimple.toolkits.typing.ClassHierarchy.classHierarchy(ClassHierarchy.java:105)
--> at soot.jimple.toolkits.typing.TypeResolver.<init>(TypeResolver.java:153)
--> at soot.jimple.toolkits.typing.TypeResolver.resolve(TypeResolver.java:178)
--> at soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:57)
--> at soot.BodyTransformer.transform(BodyTransformer.java:51)
--> at soot.Transform.apply(Transform.java:104)
--> at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:70)
--> at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:93)
--> at soot.Pack.apply(Pack.java:120)
--> at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:115)
--> at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:80)
--> at soot.SootMethod.retrieveActiveBody(SootMethod.java:304)
--> at soot.PackManager.retrieveAllBodies(PackManager.java:711)
--> at soot.PackManager.runPacks(PackManager.java:302)
--> at soot.Main.run(Main.java:179)
--> at soot.Main.main(Main.java:153)
-->
-->
-->On Wed, 18 May 2005, Ondrej Lhotak wrote:
-->
-->-->On Tue, May 17, 2005 at 01:56:33AM +0530, Rahul Nagpal wrote:
-->-->> [1]
-->-->> Exception in thread "main"
-->-->> soot.AbstractSootMethodRef$ClassResolutionFailedException: Class
-->-->> com.sun.cldc.io.ConsoleOutputStream doesn't have method <init>([]) : void;
-->-->> failed to resolve in superclasses and interfacesLooking in
-->-->> com.sun.cldc.io.ConsoleOutputStream which has methods []
-->-->> at soot.AbstractSootMethodRef.resolve(AbstractSootMethodRef.java:136)
-->-->
-->-->....
-->-->
-->-->> at ptolemy.copernicus.c.CallGraphPruner.<init>(CallGraphPruner.java:109)
-->-->> at ptolemy.copernicus.c.RequiredFileGenerator._pruneLevel1(RequiredFileGenerator.java:243)
-->-->> at ptolemy.copernicus.c.RequiredFileGenerator.init(RequiredFileGenerator.java:152)
-->-->> at ptolemy.copernicus.c.JavaToC.convert(JavaToC.java:89)
-->-->> at ptolemy.copernicus.c.JavaToC.main(JavaToC.java:186)
-->-->
-->-->Soot doesn't seem to have any methods in the class
-->-->com.sun.cldc.io.ConsoleOutputStream, which suggests that the class was
-->-->not resolved properly. It could be due to some interaction between
-->-->Ptolemy and the Soot resolver. Does the same thing happen when you run
-->-->Soot on your application, with the -w switch (to make it build a call
-->-->graph)?
-->-->
-->-->> [2]Exception in thread "main" java.lang.NullPointerException
-->-->> at soot.AnySubType.v(AnySubType.java:44)
-->-->> at soot.toolkits.exceptions.ThrowableSet$Manager.<init>(ThrowableSet.java:239)
-->-->> at soot.Singletons.soot_toolkits_exceptions_ThrowableSet_Manager(Singletons.java:1005)
-->-->> at soot.toolkits.exceptions.ThrowableSet$Manager.v(ThrowableSet.java:274)
-->-->
-->-->...
-->-->
-->-->> at ptolemy.copernicus.c.MethodCodeGenerator.generate(MethodCodeGenerator.java:76)
-->-->> at ptolemy.copernicus.c.CodeFileGenerator.generate(CodeFileGenerator.java:146)
-->-->> at ptolemy.copernicus.c.RequiredFileGenerator._generateC(RequiredFileGenerator.java:282)
-->-->> at ptolemy.copernicus.c.RequiredFileGenerator.generateTransitiveClosureOf(RequiredFileGenerator.java:94)
-->-->> at ptolemy.copernicus.c.JavaToC.convert(JavaToC.java:119)
-->-->> at ptolemy.copernicus.c.JavaToC.main(JavaToC.java:186)
-->-->
-->-->This suggests that the java.lang.ClassFormatError class is not getting
-->-->loaded, even though the Scene sets it to be a basic class. Maybe Ptolemy
-->-->is not running Scene.v().loadBasicClasses(). Again, does this problem
-->-->happen when you run Soot on your application?
-->-->
-->-->Ondrej
-->-->
-->-->
-->
-->---------------------------------------------------------------------
--> __ __
--> / /\ / /\ RAHUL NAGPAL
--> / /_/_/ / / Room No. U-77, IISc Hostels,
--> /_______/ / /\
--> \ ____ \ \/ \ Phone Nos 080-2293-2634/2591 (Hostel)
--> \ \/__\ \ /\ \ 080-22932368/468-104 (Compiler Lab)
--> \_______\/ / / 080-22932368-115 (CL1)
--> /_/ / /_/ / 080-22932368-102 (CL2)
--> \_\/ \_\/ 080-22932368-227 (Intel LAB)
-->--------------------------------------------------------------------
-->
---------------------------------------------------------------------
__ __
/ /\ / /\ RAHUL NAGPAL
/ /_/_/ / / Room No. U-77, IISc Hostels,
/_______/ / /\
\ ____ \ \/ \ Phone Nos 080-2293-2634/2591 (Hostel)
\ \/__\ \ /\ \ 080-22932368/468-104 (Compiler Lab)
\_______\/ / / 080-22932368-115 (CL1)
/_/ / /_/ / 080-22932368-102 (CL2)
\_\/ \_\/ 080-22932368-227 (Intel LAB)
--------------------------------------------------------------------
More information about the Soot-list
mailing list