[Soot-list] Interface Invoke marked as Virtual Invoke in the bytecode
Marc-André Laverdière
marc-andre.laverdiere-papineau at polymtl.ca
Fri Aug 2 12:38:05 EDT 2013
Hello,
I got this crash when analyzing some system (of which I know almost
nothing about) when running Spark.
I could try to put some logic around this, but I am actually interested
in finding out if this is a real bug in our .class file loader.
Or is it that there could be some kind of classpath issue, where one
class is labeled as interface in a jar, but it is a non-interface is
another jar? (I can't think of real-world case of that.
Exception in thread "main" java.lang.RuntimeException: Trying to create
virtual invoke expression for interface type. Use JInterfaceInvokeExpr
instead!
at
soot.jimple.internal.JVirtualInvokeExpr.<init>(JVirtualInvokeExpr.java:45)
at soot.jimple.Jimple.newVirtualInvokeExpr(Jimple.java:464)
at soot.coffi.CFG.generateJimple(CFG.java:4378)
at soot.coffi.CFG.jimplify(CFG.java:1237)
at soot.coffi.CFG.jimplify(CFG.java:925)
at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:107)
at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:89)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:324)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:532)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:427)
at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:55)
at // ...
--
Marc-André Laverdière-Papineau
Doctorant - PhD Candidate
More information about the Soot-list
mailing list