[Soot-list] inner class init method cannot be found

Chung-Ching Shen ccshen at wam.umd.edu
Thu Jul 27 15:25:02 EDT 2006


Hi All,

Here is our soot options.
  sootOptions.put("vta", "false");
  sootOptions.put("on-fly-cg", "true");
  sootOptions.put("simulate-natives", "false");
  sootOptions.put("enabled", "true");
  sootOptions.put("verbose", "true");

  sootOptions.put("propagator", "worklist");
  sootOptions.put("set-impl", "double");
  sootOptions.put("double-set-old", "hybrid");
  sootOptions.put("double-set-new", "hybrid");

and the errors below occurs when the following two lines code are executed,
the _getCallGraphEntryPoints() here just returns the required list, and 
we cannot
figure out why this error could happen. Did somebody have the same 
problem before?

  Scene.v().setEntryPoints(_getCallGraphEntryPoints(source));
  SparkTransformer.v().transform("cg.spark", sootOptions);

[Call Graph] For information on where the call graph may be incomplete, 
use the
verbose option to the cg phase.
Exception in thread "main" 
soot.AbstractSootMethodRef$ClassResolutionFailedExcep
tion: Class java.lang.String$CaseInsensitiveComparator doesn't have 
method <init
 >([java.lang.String$1]) : void; failed to resolve in superclasses and 
interfaces
Looking in java.lang.String$CaseInsensitiveComparator which has methods []

        at 
soot.AbstractSootMethodRef.resolve(AbstractSootMethodRef.java:135)
        at soot.AbstractSootMethodRef.resolve(AbstractSootMethodRef.java:95)
        at 
soot.jimple.internal.AbstractInvokeExpr.getMethod(AbstractInvokeExpr.
java:55)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.getImplicitTarge
ts(OnFlyCallGraphBuilder.java:235)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod
(OnFlyCallGraphBuilder.java:183)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachable
s(OnFlyCallGraphBuilder.java:81)
        at 
soot.jimple.toolkits.callgraph.CallGraphBuilder.build(CallGraphBuilde
r.java:87)
        at 
soot.jimple.spark.builder.ContextInsensitiveBuilder.build(ContextInse
nsitiveBuilder.java:83)
        at 
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer
.java:53)
        at soot.SceneTransformer.transform(SceneTransformer.java:39

Thanks very much.

-Chung-Ching


More information about the Soot-list mailing list