[Soot-list] Spark Error with Flowdroid

Saswat Anand saswat78 at gmail.com
Fri Jun 14 23:17:20 EDT 2013


You can print out the method name and entire jimple body inside the
buildNormal method, which appears in the stack trace. The last method
to be printed before the exception is the offending method.


On Fri, Jun 14, 2013 at 5:59 PM, Marc-André Laverdière
<marc-andre.laverdiere-papineau at polymtl.ca> wrote:
> Hi,
>
> Would you please let me know how I can get the offending method? This is sort of black box...
> --
> Marc-André Laverdière
> PhD Candidate - Doctorant
> Sent from a mobile device - please excuse the brevity
>
> Saswat Anand <saswat78 at gmail.com> wrote:
> >From the stack trace, it looks like one of the local has a "bottom"
>>type. One possible cause is that the type assigner is failing to
>>assign correct types to locals in the Jimple code that Dexpler
>>produces.
>>
>>If you could open a new issue with the jimple and .smali code for the
>>offending method, that would help in debugging.
>>
>>Saswat
>>
>>
>>On Fri, Jun 14, 2013 at 1:28 PM, Marc-André Laverdière-Papineau
>><marc-andre.laverdiere-papineau at polymtl.ca> wrote:
>>> Hello everyone,
>>>
>>> I am using Flowdroid and was able to do some analyses this week. But
>>> after some fiddling (mostly improving the sources and sinks), I end
>>up
>>> getting this error.
>>>
>>> Exception in thread "main" java.lang.RuntimeException: Attempt to
>>create
>>> VarNode of type bottom_type
>>>         at soot.jimple.spark.pag.VarNode.<init>(VarNode.java:106)
>>>         at
>>soot.jimple.spark.pag.LocalVarNode.<init>(LocalVarNode.java:44)
>>>         at soot.jimple.spark.pag.PAG.makeLocalVarNode(PAG.java:539)
>>>         at
>>>
>>soot.jimple.spark.builder.MethodNodeFactory.caseLocal(MethodNodeFactory.java:219)
>>>         at
>>soot.jimple.internal.JimpleLocal.apply(JimpleLocal.java:132)
>>>         at
>>>
>>soot.jimple.spark.builder.MethodNodeFactory.caseCastExpr(MethodNodeFactory.java:190)
>>>         at
>>soot.jimple.internal.AbstractCastExpr.apply(AbstractCastExpr.java:127)
>>>         at
>>>
>>soot.jimple.spark.builder.MethodNodeFactory$1.caseAssignStmt(MethodNodeFactory.java:78)
>>>         at
>>soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:221)
>>>         at
>>>
>>soot.jimple.spark.builder.MethodNodeFactory.handleStmt(MethodNodeFactory.java:69)
>>>         at
>>soot.jimple.spark.pag.MethodPAG.buildNormal(MethodPAG.java:181)
>>>         at soot.jimple.spark.pag.MethodPAG.build(MethodPAG.java:147)
>>>         at
>>>
>>soot.jimple.spark.solver.OnFlyCallGraph.processReachables(OnFlyCallGraph.java:64)
>>>         at
>>soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:56)
>>>         at
>>>
>>soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:123)
>>>         at
>>soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:53)
>>>         at
>>>
>>soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:152)
>>>
>>> I really have no idea what is causing this and what I can do about
>>it.
>>> Any suggestions?
>>>
>>> --
>>> 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