[Soot-list] Problematic behavior of Scene.v().addBasicClass (nightly build vs. soot 2.5)
Marc-André Laverdière
marc-andre.laverdiere-papineau at polymtl.ca
Wed Oct 16 12:31:26 EDT 2013
Hello Khan,
Thanks for your patience. Everybody has been busy lately :(
What you are telling is that {path} contains the manager.MyManager
class, that it gets loaded in 2.5, but not in the latest development
version?
My first question is: where did you get the nightly build? The right
place is here: http://vandyk.st.informatik.tu-darmstadt.de/abc/
Assuming you got the right nighly build, that really looks like a
regression.
First, I would ask you to put the bug report in github, so that we have
some traceability: https://github.com/Sable/soot/issues/new
Second, we need to find out if the class is somehow malformed or
something like that. Is this a class you compiled yourself? With a
recent Java compiler?
Third, if the problem is not with the class file, Would you please send
a minimal working example by email? Ideally, it should fit in one or two
.java files.
Regards,
Marc-André Laverdière-Papineau
Doctorant - PhD Candidate
On 10/09/2013 04:30 AM, Khanh Truong Duy Nguyen wrote:
> Hi,
>
> When trying the most recent nightly build (Oct 9), I found that soot's
> behavior is problematic
>
> Here is the code I have:
>
> class Analysis extends SceneTransformer {...
> public static void main(String[] args) {
> //
> PackManager.v().getPack("wjtp").add(new Transform("wjtp.Transform",
> Analysis.v()));
>
> Scene.v().addBasicClass("manager.MyManager",SootClass.SIGNATURES);
>
> soot.Main.main(args);
> }
> }
>
> Then I have
>
> class CurrentMethod {
> static SootClass manager = Scene.v(),getSootClass("manager.MyManager");
> }
>
> *** If I use soot-2.5.jar, there is no problem at all, the
> CurrentMethod.manager is the MyManager class
>
> *** If I use the latest nightly build, there is a RuntimeException thrown:
> Caused by: java.lang.RuntimeException:
> Aborting: can't find classfile manager.MyManager
> at soot.Scene.getSootClass(Scene.java:670)
> The stack trace is :
> at soot.SceneTransformer.transform(SceneTransformer.java:39)
> at soot.Transform.apply(Transform.java:89)
> at soot.ScenePack.internalApply(ScenePack.java:43)
> at soot.Pack.apply(Pack.java:114)
> at soot.PackManager.runWholeProgramPacks(PackManager.java:540)
> at soot.PackManager.runPacksNormally(PackManager.java:443)
> at soot.PackManager.runPacks(PackManager.java:388)
> at soot.Main.run(Main.java:198)
> at soot.Main.main(Main.java:141)
> at driver.Analysis.main(Analysis.java:54)
>
> Here is the options argument:-w -pp -keep-line-number -f J -p jb
> use-original-names:false -process-dir {path} -cp {path}
>
> Thank you,
>
> Khanh Nguyen
> UC Irvine
>
>
> _______________________________________________
> 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