[Soot-list] RuntimeException in Shimple body creation
Michael Faes
rolve at trick17.ch
Mon Mar 11 10:32:48 EDT 2013
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
More information about the Soot-list
mailing list