[Soot-list] Exception running soot in whole-program mode
Syed Albiz
s.s.albiz at gmail.com
Wed Mar 25 15:27:07 EDT 2009
Hi,
I am trying to run soot on the AspectJ benchmark suite (using abc),
but when running in whole program mode, soot throws the following
exception:
Soot started on Tue Mar 24 01:36:16 EDT 2009
No main class given. Inferred 'certrevsim.Simulator' as main class.
[Call Graph] For information on where the call graph may be
incomplete, use the verbose option to the cg phase.
Exception in thread "main" java.lang.RuntimeException: Exception
reference used other than as the first statement of an exception
handler.
at soot.jimple.toolkits.typing.fast.AugEvalFunction.eval_(AugEvalFunction.java:156)
at soot.jimple.toolkits.typing.fast.AugEvalFunction.eval(AugEvalFunction.java:41)
at soot.jimple.toolkits.typing.fast.TypeResolver.applyAssignmentConstraints(TypeResolver.java:402)
at soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:113)
at soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:93)
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.jimple.toolkits.invoke.StaticInliner.internalTransform(StaticInliner.java:144)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.Transform.apply(Transform.java:89)
at soot.ScenePack.internalApply(ScenePack.java:43)
at soot.Pack.apply(Pack.java:114)
at soot.PackManager.runWholeProgramPacks(PackManager.java:408)
at soot.PackManager.runPacks(PackManager.java:327)
at soot.Main.run(Main.java:202)
at soot.Main.main(Main.java:145)
Is this a problem with soot, or is it simply not being invoked correctly?
To reproduce the problem, using the DCM benchmark:
1. Grab the aspectJ benchmarks from
http://www.sable.mcgill.ca/benchmarks/ & extract tarball
2. copy or symlink:
abc-complete.jar abc-for-ajc-ant.jar abc-runtime.jar
into the "lib" sub-directory of the benchmark suite. Obtained from
http://abc.comlab.ox.ac.uk/download
3. in the DCM sub-directory of the benchmark suite, run:
#/bin/bash
# replace with correct paths
ASPECTJ_ROOT=/home/albiz/dev/soot/aspectjBenchmarkSuite
SOOT_HOME=/home/albiz/dev/soot/
OUTPUT_DIR=/home/albiz/dev/soot/sootOutput
JAVA_HOME=/opt/sun-jdk-1.6.0.12
/usr/bin/java -Xmx2048m -cp
$SOOT_HOME/soot-2.3.0/classes/:$SOOT_HOME/jasmin-2.3.0/classes/:$SOOT_HOME/polyglot-1.3.5/classes:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/resources.jar:$JAVA_HOME/jre/lib/jce.jar:$ASPECTJ_ROOT/lib/abc-complete.jar$ASPECTJ_ROOT/lib/abc-runtime.jar:$ASPECTJ_ROOT/lib/abc-for-ajc-ant.jar:$ASPECTJ_ROOT/DCM/src/
soot.Main -W -p wjtp enabled:true --d $OUTPUT_DIR -pp --cp
$JAVA_HOME/jre/lib/rt.jar:$ASPECTJ_ROOT/lib/abc-complete.jar$ASPECTJ_ROOT/lib/abc-runtime.jar:$ASPECTJ_ROOT/lib/abc-for-ajc-ant.jar:$ASPECTJ_ROOT/DCM/src/
--src-prec java certrevsim.Simulator
More information about the Soot-list
mailing list