[Soot-list] Problem on analyzing SPECjvm2008

Eric Bodden eric.bodden at mail.mcgill.ca
Thu Nov 13 14:17:11 EST 2008


Apparently, Soot cannot resolve the code correctly. Usually this
should only happen when the code is invalid. However, in your case I
assume that the problem may arise from using -use-phantom-refs. This
leads Soot to creating "dummy classes" and Soot may actually end up
being confused by that. Why are you using this option?

Eric

2008/11/12 Jae-Woo Lee <lee575 at purdue.edu>:
> Hi.
>
> I want to analyze SPECjvm2008 benchmark but when I ran soot, I get the
> following Exception. Any idea what it is about ?
> Thank you.
>
> Jaewoo
>
> Command:
> java -Xmx1024m -classpath .:bin/:${CLASSPATH} soot.Main -w -allow-phantom-refs -
> f j -i org.apache.derby. -i spec.benchmarks.derby. -x spec. -x org. -x com. -x
> sun. -app -print-tags -
> cp .:${spec_classpath}:${jre_classpath}:${derby_classpath} -process-
> dir ../MyBenchmarks/derby/ -process-dir ../MyBenchmarks/SPECjvm2008/ -main-
> class spec.benchmarks.derby.Main
>
> Exception:
> Exception in thread "main" java.lang.RuntimeException: Trying to create
> interface invoke expression for non-interface type. Use JVirtualInvokeExpr or
> JSpecialInvokeExpr instead!
>        at soot.jimple.internal.JInterfaceInvokeExpr.<init>
> (JInterfaceInvokeExpr.java:46)
>        at soot.jimple.Jimple.newInterfaceInvokeExpr(Jimple.java:463)
>        at soot.coffi.CFG.generateJimple(CFG.java:4562)
>        at soot.coffi.CFG.jimplify(CFG.java:1259)
>        at soot.coffi.CFG.jimplify(CFG.java:947)
>        at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:100)
>        at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
>        at soot.SootMethod.retrieveActiveBody(SootMethod.java:329)
>        at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod
> (OnFlyCallGraphBuilder.java:181)
>        at
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables
> (OnFlyCallGraphBuilder.java:81)
>        at soot.jimple.toolkits.callgraph.CallGraphBuilder.build
> (CallGraphBuilder.java:84)
>        at soot.jimple.toolkits.callgraph.CHATransformer.internalTransform
> (CHATransformer.java:43)
>        at soot.SceneTransformer.transform(SceneTransformer.java:39)
>        at soot.Transform.apply(Transform.java:89)
>        at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
>        at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply
> (CallGraphPack.java:47)
>        at soot.Pack.apply(Pack.java:114)
>        at soot.PackManager.runWholeProgramPacks(PackManager.java:406)
>        at soot.PackManager.runPacks(PackManager.java:327)
>        at soot.Main.run(Main.java:202)
>        at soot.Main.main(Main.java:145)
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Eric Bodden
Sable Research Group, McGill University, Montréal, Canada
Got an interesting job offer? http://www.bodden.de/hire-me/


More information about the Soot-list mailing list