[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