[Soot-list] Bug in shimple transformation ?
Guillaume Salagnac
guillaume.salagnac at imag.fr
Tue Oct 25 09:14:12 EDT 2005
Hi Navindra,
And thanks for the patch. Indeed, it solved my problem, and the
shimple is now correctly generated for my test class. Actually, I did
not compile the patch itself, but I downloaded the "nightly build"
version of sootclasses.jar, which is labelled "2168", so I assume it
includes the fix. By the way, thanks for the nightly builds beeing back.
However, I'm still not completely happy, because this new version of
the code makes my main project crash. Here's an invocation of soot
that illustrates the same problem :
java soot.Main -f S sun.security.provider.SeedGenerator
This class seems to live somewhere in the JRE (rt.jar), but I did
not find any Java source code for it, and I don't understand the
thrown exception :
Exception in thread "main" java.lang.RuntimeException: Assertion
failed: Only one head expected.
at
soot.toolkits.graph.SimpleDominatorsAnalysis.entryInitialFlow
(SimpleDominatorsFinder.java:180)
at soot.toolkits.scalar.ForwardFlowAnalysis.doAnalysis
(ForwardFlowAnalysis.java:100)
at soot.toolkits.graph.SimpleDominatorsAnalysis.<init>
(SimpleDominatorsFinder.java:158)
at soot.toolkits.graph.SimpleDominatorsFinder.<init>
(SimpleDominatorsFinder.java:52)
at soot.toolkits.scalar.GuaranteedDefsAnalysis.<init>
(GuaranteedDefs.java:82)
at soot.toolkits.scalar.GuaranteedDefs.<init>
(GuaranteedDefs.java:44)
at soot.shimple.internal.PhiNodeManager.update
(PhiNodeManager.java:63)
at soot.shimple.internal.PhiNodeManager.insertTrivialPhiNodes
(PhiNodeManager.java:79)
at soot.shimple.internal.ShimpleBodyBuilder.transform
(ShimpleBodyBuilder.java:104)
at soot.shimple.ShimpleBody.rebuild(ShimpleBody.java:137)
at soot.shimple.ShimpleBody.<init>(ShimpleBody.java:106)
at soot.shimple.Shimple.newBody(Shimple.java:89)
at soot.PackManager.runBodyPacks(PackManager.java:549)
at soot.PackManager.runBodyPacks(PackManager.java:378)
at soot.PackManager.runBodyPacks(PackManager.java:322)
at soot.PackManager.runPacks(PackManager.java:317)
at soot.Main.run(Main.java:179)
at soot.Main.main(Main.java:153)
Do you have any clues about what to do ? As they need results from
the JRE, my whole-shimple analyses do not run any more...
Thanks,
-G
More information about the Soot-list
mailing list