[Soot-list] soot class path issue
Marc-André Laverdière
marc-andre.laverdiere-papineau at polymtl.ca
Tue Sep 9 18:44:23 EDT 2014
Hi Ashish,
It sounds like you are using the eclipse plug-in. This could be a
regression specific to that plugin. Have you filed a bug?
Regards,
Marc-André Laverdière-Papineau
Doctorant - PhD Candidate
On 08/06/2014 02:31 AM, ASHISH MISHRA wrote:
> Hi Marc,
> Thanks,
> You are right about the location of the missing file dependence its not
> in the rt.jar but that jar is not on the soot-class path. I checked the
> getSootClassPath output against the variable and they both are same with
> value of the rt.jar location. As the soot options page suggests the soot
> class path falls back to this location if no path if no class path is
> set. I suppose this is the case here.
>
> Strangely , every time i use the soot release the path is correctly
> including all the projects included in my project and -pp option works
> but when i try using nightly builds i get this problem. I need to use
> the soot-infoflow package so I need nightly build.
>
> regards
> Ashish
>
>
> On Tue, Aug 5, 2014 at 7:43 PM, Marc-André Laverdière
> <marc-andre.laverdiere-papineau at polymtl.ca
> <mailto:marc-andre.laverdiere-papineau at polymtl.ca>> wrote:
>
> Hello Ashish,
>
> Please reply to list in the future :)
>
> IIRC, that specific class is in a separate jar, not in rt.jar.
>
> That doesn't solve the issue you are having though. I double-checked the
> code (last time I pulled was yesterday). Scene.getSootClassPath does
> some concatenation magic. Have you tried comparing the values of
> getSootClassPath vs the variable?
>
> BTW, this looks like a major break of encapsulation to me. Do you feel
> like changing it and making a pull request? :)
>
> Marc-André Laverdière-Papineau
> Doctorant - PhD Candidate
>
> On 08/05/2014 09:51 AM, ASHISH MISHRA wrote:
> > Hi Marc,
> > Thanks for the reply,
> >
> > yeah my mistake i printed it before call to Main.main() , but the
> > problem persists as even after the call to options.v().parse(arg)
> , the
> > Scene.sootclasspath points to the same value
> > "/usr/share/jdk1.7.0_01/jre/lib/rt.jar/" . So basically soot class
> path
> > is not set and i get following Excpetion-
> >
> > Exception in thread "main"
> soot.SootResolver$SootClassNotFoundException:
> > couldn't find class: javax.crypto.spec.DESKeySpec (is your
> > soot-class-path set properly?)
> > at soot.SootResolver.bringToHierarchy(SootResolver.java:219)
> > at soot.SootResolver.bringToSignatures(SootResolver.java:255)
> > at soot.SootResolver.bringToBodies(SootResolver.java:291)
> > at soot.SootResolver.processResolveWorklist(SootResolver.java:164)
> > at soot.SootResolver.resolveClass(SootResolver.java:129)
> > at soot.Scene.tryLoadClass(Scene.java:639)
> > at soot.Scene.loadBasicClasses(Scene.java:1210)
> > at soot.Scene.loadNecessaryClasses(Scene.java:1289)
> > at soot.Main.run(Main.java:173)
> > at soot.Main.main(Main.java:146)
> > at dynamicup.DU.main(DU.java:205)
> >
> > It sounds and feels weird but i have been using this build and was
> > successfully analyzing information flow since past one day :) and an
> > eclipse restart started giving this issue .
> >
> > Thanks
> > Ashish
> >
> >
> > On Tue, Aug 5, 2014 at 6:54 PM, Marc-André Laverdière
> > <marc-andre.laverdiere-papineau at polymtl.ca
> <mailto:marc-andre.laverdiere-papineau at polymtl.ca>
> > <mailto:marc-andre.laverdiere-papineau at polymtl.ca
> <mailto:marc-andre.laverdiere-papineau at polymtl.ca>>> wrote:
> >
> > Hi Ashish,
> >
> > I would run this getSootClassPath call in a transformer. As it
> is, you
> > are calling it before the options get processed in the Main.main()
> > call...
> >
> > Marc-André Laverdière-Papineau
> > Doctorant - PhD Candidate
> >
> > On 08/05/2014 09:11 AM, ASHISH MISHRA wrote:
> > > Hi,
> > > I recently built the soot-trunk from the git and included it
> in my
> > > project as i needed icfg related classes . I changed the
> sootclasses
> > > variable of my eclipse to the soot-trunk.jar.
> > >
> > > I am setting my soot args as follows
> > >
> > > soot_args = new String[]{
> > > "-w",
> > > "-p",
> > > "jb",
> > > "use-original-names:true",
> > > "-keep-line-number",
> > > "-print-tags",
> > > "-pp",
> > > "-soot-class-path",
> > > args[0],
> > > "-main-class",
> > > args[1],
> > > "-app",
> > > args[1],
> > > "-x",
> > > "org.apache.",
> > > "-f",
> > > //"jimple",
> > > "jimple",
> > > //"-xml-attributes",
> > > //"-print-tags",
> > > //"-annot-nullpointer"
> > > //"-p"
> > > };
> > >
> > > --
> > > ...
> > >
> > > PackManager.v().getPack("wjtp").add(tf);
> > > System.out.println("Soot class path " +
> > Scene.v().getSootClassPath());
> > > soot.Main.main(soot_args);
> > >
> > >
> > > but no matter whatever args i pass to the soot for the class
> path
> > , the
> > > soot class path is never set and it points to the default value
> > >
> > >
> > > The above statement always gives me -
> > > /Soot class path /usr/share/jdk1.7.0_01/jre/lib/rt.jar/
> > > /
> > > /
> > > Anybody faced this problem or has any idea what might be
> the reason.
> > > Surprisingly I was able to run the analysis earlier with the
> updated
> > > soot-trunk . Then i restarted eclipse and this problem.
> > >
> > >
> > > With older version of the Soot i can still run my other
> analysis.
> > >
> > > Thanks
> > > Ashish
> > > /
> > > /Regards,
> > > Ashish Mishra
> > > Graduate Student,
> > > Computer Science and Automation Department,IISc
> > > Cell : +91-9611194714
> > > Mailto : ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>
> > <mailto:ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>>
> > > <mailto:ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>
> > <mailto:ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>>>
> > >
> > >
> > >
> > > _______________________________________________
> > > Soot-list mailing list
> > > Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>
> <mailto:Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>>
> > > https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> > >
> > _______________________________________________
> > Soot-list mailing list
> > Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>
> <mailto:Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>>
> > https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> >
> >
> >
> >
> > --
> > Regards,
> > Ashish Mishra
> > Graduate Student,
> > Computer Science and Automation Department,IISc
> > Cell : +91-9611194714
> > Mailto : ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>
> > <mailto:ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>>
> >
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>
>
>
>
> --
> Regards,
> Ashish Mishra
> Graduate Student,
> Computer Science and Automation Department,IISc
> Cell : +91-9611194714
> Mailto : ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>
>
More information about the Soot-list
mailing list