[Soot-list] soot class path issue

ASHISH MISHRA ashish123.mishragkp at gmail.com
Wed Aug 6 02:31:13 EDT 2014


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> 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>> 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>>
> >     >
> >     >
> >     >
> >     > _______________________________________________
> >     > 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
> >     >
> >     _______________________________________________
> >     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>
> >
> _______________________________________________
> Soot-list mailing list
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140806/ff3566c5/attachment.html 


More information about the Soot-list mailing list