[Soot-list] Help (fwd)

Ondrej Lhotak olhotak at sable.mcgill.ca
Wed May 18 11:12:24 EDT 2005


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




More information about the Soot-list mailing list