[Soot-list] Interface Invoke marked as Virtual Invoke in the bytecode

Phil Pratt-Szeliga pcpratts at trifort.org
Fri Aug 2 12:45:20 EDT 2013


Hi Marc-Andre,

That is an issue with classloading. I don't remember the cases that
this happens.

Phil Pratt-Szeliga
Syracuse University
http://trifort.org/

On Fri, Aug 2, 2013 at 12:38 PM, Marc-André Laverdière
<marc-andre.laverdiere-papineau at polymtl.ca> wrote:
> 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
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list


More information about the Soot-list mailing list