[Soot-list] RuntimeException in Shimple body creation

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Mon Mar 11 12:02:04 EDT 2013


Hi Michael,

I haven't used Shimple yet, so I really have no clue about it.
Is it working fine in Jimple, or breaking there too?

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 13-03-11 10:32 AM, Michael Faes wrote:
> Hi everyone,
>
> I just ran into a runtime exception in Soot and wondered whether someone
> can make any sense out of it:
>
> Exception in thread "main" java.lang.RuntimeException: Assertion failed.
>     at
> soot.shimple.internal.PhiNodeManager.dominates(PhiNodeManager.java:359)
>     at
> soot.shimple.internal.PhiNodeManager.trimPhiNode(PhiNodeManager.java:288)
>     at
> soot.shimple.internal.PhiNodeManager.trimExceptionalPhiNodes(PhiNodeManager.java:227)
>     at
> soot.shimple.internal.ShimpleBodyBuilder.transform(ShimpleBodyBuilder.java:116)
>     at soot.shimple.ShimpleBody.rebuild(ShimpleBody.java:133)
>     at soot.shimple.ShimpleBody.<init>(ShimpleBody.java:102)
>     at soot.shimple.Shimple.newBody(Shimple.java:88)
>     at soot.PackManager.runBodyPacks(PackManager.java:808)
>     at soot.PackManager.runBodyPacks(PackManager.java:506)
>     at soot.PackManager.runBodyPacks(PackManager.java:413)
>     at soot.PackManager.runPacksNormally(PackManager.java:390)
>     at soot.PackManager.runPacks(PackManager.java:335)
>     at soot.Main.run(Main.java:198)
>     at soot.Main.main(Main.java:141)
> ...
>
> As you can see, the Shimple body creation fails. I hunted down the
> problematic class and simplified it as much as I could:
>
> public class ShimpleTest {
>
>       public static void main(final String[] args) {
>           foo();
>       }
>
>       private static final float foo() {
>           try {
>               return bar() ? 0 : baz();
>           } catch(final Exception e) {
>               return 0;
>           }
>       }
>
>       private static boolean bar() {
>           return false;
>       }
>
>       private static int baz() {
>           return 0;
>       }
> }
>
> Running Soot (nightly build from a few days ago) with "-f S" produces
> the exception.
>
> Could someone help me out with this? I already ran into this problem
> with two libraries that I need to analyze.
>
> Best regards,
> Michael
> _______________________________________________
> 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