[Soot-list] Crash on creating an ExceptionalBlockGraph

Steven Arzt Steven.Arzt at cased.de
Mon Apr 4 10:51:55 EDT 2016


Hi Samanwita,

 

This looks as if either the code you are analyzing is broken or Soot front-end has issues. Can you be a bit more precise on what you are trying to analyze (APK file, Java bytecode, etc.)? What does your analysis code look like? What are your Soot command-line options? To debug the issue, I would also need the respective input files.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von Samanwita Pal
Gesendet: Donnerstag, 31. März 2016 00:00
An: Soot-list at CS.McGill.CA
Betreff: [Soot-list] Crash on creating an ExceptionalBlockGraph

 

Hi,

 

I am trying to get hold of all the basic blocks in the body of the function and identifying if they correspond to a cat block or not.

 

Whenever my test file has an explicit throw statement, the following line in my CustomSceneAnalysis fails :

 

BlockGraph bg = new ExceptionalBlockGraph(b); 

 

where Body b = m.getActiveBody(); is executed somewhere before that. 

 

The stack trace is :

 

java.lang.IllegalStateException: UnitThrowAnalysis StmtSwitch: type of throw argument is not a RefType!

                at soot.toolkits.exceptions.AbstractThrowAnalysis.mightThrowExplicitly(AbstractThrowAnalysis.java:65)

                at soot.toolkits.exceptions.UnitThrowAnalysis$UnitSwitch.caseThrowStmt(UnitThrowAnalysis.java:706)

                at soot.jimple.internal.JThrowStmt.apply(JThrowStmt.java:70)

                at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:241)

                at soot.toolkits.graph.ExceptionalUnitGraph$1.getThrowables(ExceptionalUnitGraph.java:807)

                at soot.toolkits.graph.ExceptionalBlockGraph.collectDests(ExceptionalBlockGraph.java:259)

                at soot.toolkits.graph.ExceptionalBlockGraph.buildExceptionDests(ExceptionalBlockGraph.java:217)

                at soot.toolkits.graph.ExceptionalBlockGraph.buildBlocks(ExceptionalBlockGraph.java:183)

                at soot.toolkits.graph.BlockGraph.<init>(BlockGraph.java:69)

                at soot.toolkits.graph.ExceptionalBlockGraph.<init>(ExceptionalBlockGraph.java:106)

                at soot.toolkits.graph.ExceptionalBlockGraph.<init>(ExceptionalBlockGraph.java:93)

                at myCustomAnalysis$mySceneTransformer.internalTransform(myCustomAnalysis.java:65)

                at soot.SceneTransformer.transform(SceneTransformer.java:39)

                at soot.Transform.apply(Transform.java:90)

                at soot.ScenePack.internalApply(ScenePack.java:40)

                at soot.Pack.apply(Pack.java:121)

                at soot.PackManager.runWholeProgramPacks(PackManager.java:565)

                at soot.PackManager.runPacksNormally(PackManager.java:457)

                at soot.PackManager.runPacks(PackManager.java:392)

                at soot.Main.run(Main.java:271)

                at soot.Main.main(Main.java:147)

                at myCustomAnalysis.main(myCustomAnalysis.java:23)

 

 

Any pointers to why this is happening or how to avoid it will be helpful.

 

Thanks,

Samanwita

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20160404/7bccfe66/attachment-0001.html 


More information about the Soot-list mailing list