<div dir="ltr">Hi:<div><br></div><div>I tried to run nightly build version jars from the repo, with command-line like this:</div><div><br></div><div>java -Xmx300g -cp soot-trunk.jar:soot-infoflow.jar:soot-infoflow-android.jar:slf4j-api-1.7.5.jar:slf4j-simple-1.7.5.jar:axml-2.0.jar soot.jimple.infoflow.android.TestApps.Test /home/test/com.dropbox.android-2.apk  /home/test/android-sdk-linux/platforms/ --nocallbacks --layoutmode none<br></div><div><br></div><div>However I&#39;m getting exceptions as follows:</div><div><br></div><div><div>[Call Graph] For information on where the call graph may be incomplete, use the verbose option to the cg phase.</div><div>[Spark] Pointer Assignment Graph in 0.6 seconds.</div><div>[Spark] Type masks in 0.1 seconds.</div><div>[Spark] Pointer Graph simplified in 0.0 seconds.</div><div>[Spark] Propagation in 40.3 seconds.</div><div>[Spark] Solution found in 40.3 seconds.</div><div>[main] INFO soot.jimple.infoflow.util.InterproceduralConstantValuePropagator - Removing side-effect free methods is enabled</div><div>Removed 2479 call edges</div><div>[main] INFO soot.jimple.infoflow.Infoflow - Dead code elimination took 2.932016853 seconds</div><div>[main] INFO soot.jimple.infoflow.Infoflow - Callgraph has 39330 edges</div><div>[main] INFO soot.jimple.infoflow.Infoflow - Looking for sources and sinks...</div><div>[main] INFO soot.jimple.infoflow.Infoflow - Source lookup done, found 551 sources and 272 sinks.</div></div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>[Thread-6] ERROR heros.solver.IDESolver - Worker thread execution failed: soot.RefType cannot be cast to soot.ArrayType</div><div>[Thread-2] ERROR heros.solver.IDESolver - Worker thread execution failed: soot.RefType cannot be cast to soot.ArrayType</div><div>[Thread-4] ERROR heros.solver.IDESolver - Worker thread execution failed: soot.RefType cannot be cast to soot.ArrayType</div><div>java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>java.lang.InterruptedException</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)</div><div><span class="" style="white-space:pre">        </span>at heros.solver.CountLatch.awaitZero(CountLatch.java:75)</div><div><span class="" style="white-space:pre">        </span>at heros.solver.CountingThreadPoolExecutor.awaitCompletion(CountingThreadPoolExecutor.java:79)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.runExecutorAndAwaitCompletion(IFDSSolver.java:209)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValuesAndShutdown(IFDSSolver.java:184)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:160)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.java:108)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.Infoflow.runAnalysis(Infoflow.java:676)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.Infoflow.computeInfoflow(Infoflow.java:322)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.SetupApplication.runInfoflow(Unknown Source)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Unknown Source)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.main(Unknown Source)</div><div>Exception in thread &quot;main&quot; Exception in thread &quot;Thread-2&quot; java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>Exception in thread &quot;Thread-6&quot; java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>Exception in thread &quot;Thread-4&quot; java.lang.RuntimeException: There were exceptions during IFDS analysis. Exiting.</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.runExecutorAndAwaitCompletion(IFDSSolver.java:215)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.awaitCompletionComputeValuesAndShutdown(IFDSSolver.java:184)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.solve(IFDSSolver.java:160)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.solve(InfoflowSolver.java:108)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.Infoflow.runAnalysis(Infoflow.java:676)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.Infoflow.computeInfoflow(Infoflow.java:322)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.SetupApplication.runInfoflow(Unknown Source)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Unknown Source)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.main(Unknown Source)</div><div>Caused by: java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div><div>java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.computeAliases(BackwardsInfoflowProblem.java:278)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1.access$100(BackwardsInfoflowProblem.java:84)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.problems.BackwardsInfoflowProblem$1$1.computeTargets(BackwardsInfoflowProblem.java:343)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:76)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.InfoflowSolver.computeNormalFlowFunction(InfoflowSolver.java:35)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.processNormalFlow(IFDSSolver.java:467)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver.access$100(IFDSSolver.java:60)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.solver.fastSolver.IFDSSolver$PathEdgeProcessingTask.run(IFDSSolver.java:623)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:745)</div></div><div><br></div></blockquote><div><br></div><div>Test apk attached at <a id="download-link" href="http://box.myqsc.com/-43762846" style="margin:0px;font-size:15px;text-decoration:none;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:22.3999996185303px;background-color:rgb(245,245,245)">http://box.myqsc.com/-43762846</a></div><div>Thanks! </div></div></div>