[Soot-list] Soot exception: There is no main class set!

Harsha vardhan Rajendran harshavardhan.rajendran at gmail.com
Fri Jun 22 07:05:31 EDT 2012


Oh! RIght.. That does make sense. So, I tried a few other things like:

java -Xmx2048m -cp
../build/jar/bianlian.jar:../code/lib/polyglotclasses-1.3.5.jar:../code/lib/jasminclasses-nightly.jar:../code/lib/log4j-1.2.15.jar:../code/lib/sootclasses-nightly.jar
server.blockify.Blockifier add.ClassAdd -main-class add.ClassAdd

So, according to the documentation of this project Blockifier takes another
class as input to process. SO, I have given it one (ClassAdd). So, in
essence ClassAdd should be converted to its equivalent Jimple form and then
be passed to Blockifer. I have sent you Blockifier class in the previous
mail, so this is coded in there.

Isn't this being achieved in the above command? I still get this error:

*Exception in thread "main" java.lang.RuntimeException: Main-class has no
main method!*

But the main class I specified DOES have a main method....

Thanks
Harsha


On Wed, Jun 20, 2012 at 5:47 AM, Eric Bodden <eric.bodden at ec-spride.de>wrote:

> Hi again.
>
> I now see what may be the problem... So you are using the very class
> that Soot is supposed to analyze to also bootstrap Soot? That is
> calling for trouble. The code that makes up your program analysis
> should always be totally separated from the code you are analyzing.
> Otherwise it'S quite hard to get the classpath right....
>
> Eric
>
> On 20 June 2012 14:35, Harsha vardhan Rajendran
> <harshavardhan.rajendran at gmail.com> wrote:
> > Here is the Blockifier class...
> >
> >
> > On Wed, Jun 20, 2012 at 5:23 AM, Eric Bodden <eric.bodden at ec-spride.de>
> > wrote:
> >>
> >> Hello.
> >>
> >> Can you email us your main class as an attachment?
> >>
> >> Cheers,
> >> Eric
> >>
> >> On 20 June 2012 13:48, Harsha vardhan Rajendran
> >> <harshavardhan.rajendran at gmail.com> wrote:
> >> > Hi,
> >> >
> >> >    I am pretty sure the signature is correct and that Soot is picking
> up
> >> > the
> >> > right class. In the error, the last line points to the fact that a
> main
> >> > method is indeed present. So, why is Soot not picking it up?
> -main-class
> >> > flag does not help either...
> >> >
> >> > Thanks
> >> > Harsha
> >> >
> >> >
> >> > On Mon, Jun 18, 2012 at 3:33 AM, Eric Bodden <
> eric.bodden at ec-spride.de>
> >> > wrote:
> >> >>
> >> >> Hi again.
> >> >>
> >> >> When Soot says that your main class has no main method than that's
> the
> >> >> case. Are you sure the signature is correct and also that Soot is
> >> >> picking up the correct class?
> >> >>
> >> >> Eric
> >> >>
> >> >> On 18 June 2012 12:03, Harsha vardhan Rajendran
> >> >> <harshavardhan.rajendran at gmail.com> wrote:
> >> >> > Hello Eric,
> >> >> >
> >> >> >    Actually I did try using he -main-class flag option. But I end
> up
> >> >> > with an
> >> >> > error saying that "Main-class has no main method!" (But it does).
> >> >> >
> >> >> > Here's what I did:
> >> >> >
> >> >> > java -Xmx2048m -cp
> >> >> >
> >> >> >
> >> >> >
> ../build/jar/bianlian.jar:../code/lib/polyglotclasses-1.3.5.jar:../code/lib/jasminclasses-nightly.jar:../code/lib/log4j-1.2.15.jar:../code/lib/sootclasses-nightly.jar
> >> >> > server.blockify.Blockifier Main
> >> >> > -main-class server.blockify.Blockifier
> >> >> >
> >> >> > The error I got:
> >> >> >
> >> >> > Warning: java.dyn.InvokeDynamic is a phantom class!
> >> >> > Warning: Main is a phantom class!
> >> >> > Exception in thread "main" java.lang.RuntimeException: Main-class
> has
> >> >> > no
> >> >> > main method!
> >> >> > at soot.Scene.setMainClass(Scene.java:146)
> >> >> > at soot.Scene.setMainClassFromOptions(Scene.java:1216)
> >> >> > at soot.Scene.getMainClass(Scene.java:176)
> >> >> > at soot.EntryPoints.application(EntryPoints.java:65)
> >> >> > at soot.EntryPoints.all(EntryPoints.java:95)
> >> >> > at soot.Scene.getEntryPoints(Scene.java:702)
> >> >> > at soot.Scene.getReachableMethods(Scene.java:749)
> >> >> > at
> >> >> >
> >> >> >
> >> >> >
> soot.jimple.toolkits.callgraph.CallGraphBuilder.<init>(CallGraphBuilder.java:59)
> >> >> > at
> >> >> >
> >> >> >
> >> >> >
> soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:42)
> >> >> > at soot.SceneTransformer.transform(SceneTransformer.java:39)
> >> >> > at soot.Transform.apply(Transform.java:89)
> >> >> > at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
> >> >> > at
> >> >> >
> >> >> >
> >> >> >
> soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:47)
> >> >> > at soot.Pack.apply(Pack.java:114)
> >> >> > at soot.PackManager.runWholeProgramPacks(PackManager.java:417)
> >> >> > at soot.PackManager.runPacks(PackManager.java:336)
> >> >> > at soot.Main.run(Main.java:198)
> >> >> > at soot.Main.main(Main.java:141)
> >> >> > at
> >> >> >
> >> >> >
> >> >> >
> server.blockify.Blockifier.blockifyFromCmdLineWithArgs(Blockifier.java:147)
> >> >> > at server.blockify.Blockifier.main(Blockifier.java:399)
> >> >> >
> >> >> > Thanks
> >> >> > Harsha
> >> >> >
> >> >> > On Mon, Jun 18, 2012 at 2:46 AM, Eric Bodden
> >> >> > <eric.bodden at ec-spride.de>
> >> >> > wrote:
> >> >> >>
> >> >> >> Hi Harsha.
> >> >> >>
> >> >> >> This may help:
> >> >> >> http://www.sable.mcgill.ca/soot/tutorial/usage/
> >> >> >>
> >> >> >> Search for main-class.
> >> >> >>
> >> >> >> Eric
> >> >> >>
> >> >> >> On 18 June 2012 11:43, Harsha vardhan Rajendran
> >> >> >> <harshavardhan.rajendran at gmail.com> wrote:
> >> >> >> > Hello Marc,
> >> >> >> >
> >> >> >> >     Thank you so much for your reply. I have taken over this
> >> >> >> > project
> >> >> >> > from an
> >> >> >> > earlier student and hence am finding my way through it. So, this
> >> >> >> > is
> >> >> >> > how
> >> >> >> > soot
> >> >> >> > is invoked:
> >> >> >> >
> >> >> >> > java -Xmx2048m -cp
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> ../build/jar/bianlian.jar:../code/lib/polyglotclasses-1.3.5.jar:../code/lib/jasminclasses-nightly.jar:../code/lib/log4j-1.2.15.jar:../code/lib/sootclasses-nightly.jar
> >> >> >> > server.blockify.Blockifier HelloWorld
> >> >> >> >
> >> >> >> > Blockifier and HelloWorld are two classes as you very well
> >> >> >> > understand.
> >> >> >> > And
> >> >> >> > what do you mean "path for the parsing". Parsing of what to be
> >> >> >> > precise?
> >> >> >> >
> >> >> >> > Thanks
> >> >> >> > Harsha
> >> >> >> >
> >> >> >> >
> >> >> >> > On Fri, Jun 15, 2012 at 5:24 AM, Marc-Andre Laverdiere-Papineau
> >> >> >> > <marc-andre.laverdiere-papineau at polymtl.ca> wrote:
> >> >> >> >>
> >> >> >> >> Namaste Harsha,
> >> >> >> >>
> >> >> >> >> I had this a few times. There are two methods that can allow
> you
> >> >> >> >> to
> >> >> >> >> set
> >> >> >> >> starting points for your interprocedural analyses, one is
> setting
> >> >> >> >> a
> >> >> >> >> main
> >> >> >> >> class, the others are setting arbitrary entry points, and they
> >> >> >> >> conflict
> >> >> >> >> each other.
> >> >> >> >>
> >> >> >> >> I think another cause of it is that the path for the parsing
> >> >> >> >> needs
> >> >> >> >> to
> >> >> >> >> be
> >> >> >> >> repeated in the class path. It took me a while to understand
> that
> >> >> >> >> one
> >> >> >> >> :$
> >> >> >> >>
> >> >> >> >> If that's not helping, would you please reply with the details
> of
> >> >> >> >> how
> >> >> >> >> you are invoking Soot?
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> Marc-André Laverdière-Papineau
> >> >> >> >> Étudiant au doctorat - PhD Student
> >> >> >> >>
> >> >> >> >> On 06/15/2012 08:11 AM, Harsha vardhan Rajendran wrote:
> >> >> >> >> > Hello ,
> >> >> >> >> >
> >> >> >> >> >       I have been playing around with Soot and keep getting
> the
> >> >> >> >> > following error. I was wondering if you could please help me
> >> >> >> >> > out?
> >> >> >> >> > I
> >> >> >> >> > have
> >> >> >> >> > set everything in the proper classpath, but still it says
> that
> >> >> >> >> > there
> >> >> >> >> > is
> >> >> >> >> > no main class set.
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > 2012-06-15 05:03:24,088 DEBUG server.blockify.Blockifier -
> >> >> >> >> > Initializing
> >> >> >> >> > SOOT ...
> >> >> >> >> > Soot started on Fri Jun 15 05:03:24 MST 2012
> >> >> >> >> > Warning: java.dyn.InvokeDynamic is a phantom class!
> >> >> >> >> > Warning: Main is a phantom class!
> >> >> >> >> > *Exception in thread "main" java.lang.RuntimeException: There
> >> >> >> >> > is
> >> >> >> >> > no
> >> >> >> >> > main
> >> >> >> >> > class set!*
> >> >> >> >> > at soot.Scene.getMainClass(Scene.java:179)
> >> >> >> >> > at soot.EntryPoints.application(EntryPoints.java:65)
> >> >> >> >> > at soot.EntryPoints.all(EntryPoints.java:95)
> >> >> >> >> > at soot.Scene.getEntryPoints(Scene.java:702)
> >> >> >> >> > at soot.Scene.getReachableMethods(Scene.java:749)
> >> >> >> >> > at
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> soot.jimple.toolkits.callgraph.CallGraphBuilder.<init>(CallGraphBuilder.java:59)
> >> >> >> >> > at
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:42)
> >> >> >> >> > at soot.SceneTransformer.transform(SceneTransformer.java:39)
> >> >> >> >> > at soot.Transform.apply(Transform.java:89)
> >> >> >> >> > at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
> >> >> >> >> > at
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:47)
> >> >> >> >> > at soot.Pack.apply(Pack.java:114)
> >> >> >> >> > at
> soot.PackManager.runWholeProgramPacks(PackManager.java:417)
> >> >> >> >> > at soot.PackManager.runPacks(PackManager.java:336)
> >> >> >> >> > at soot.Main.run(Main.java:198)
> >> >> >> >> > at soot.Main.main(Main.java:141)
> >> >> >> >> > at
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> server.blockify.Blockifier.blockifyFromCmdLineWithArgs(Blockifier.java:147)
> >> >> >> >> > at server.blockify.Blockifier.main(Blockifier.java:399)
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > --
> >> >> >> >> > Regards
> >> >> >> >> > Harsha vardhan R.
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > _______________________________________________
> >> >> >> >> > Soot-list mailing list
> >> >> >> >> > Soot-list at sable.mcgill.ca
> >> >> >> >> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >> >> >> >> >
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> _______________________________________________
> >> >> >> >> Soot-list mailing list
> >> >> >> >> Soot-list at sable.mcgill.ca
> >> >> >> >> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > --
> >> >> >> > Regards
> >> >> >> > Harsha vardhan R.
> >> >> >> >
> >> >> >> >
> >> >> >> > _______________________________________________
> >> >> >> > Soot-list mailing list
> >> >> >> > Soot-list at sable.mcgill.ca
> >> >> >> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> Eric Bodden, Ph.D., http://bodden.de/
> >> >> >> Head of Secure Software Engineering Group at EC SPRIDE
> >> >> >> Principal Investigator in Secure Services at CASED
> >> >> >> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> >> >> >> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Regards
> >> >> > Harsha vardhan R.
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Eric Bodden, Ph.D., http://bodden.de/
> >> >> Head of Secure Software Engineering Group at EC SPRIDE
> >> >> Principal Investigator in Secure Services at CASED
> >> >> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> >> >> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Regards
> >> > Harsha vardhan R.
> >> >
> >>
> >>
> >>
> >> --
> >> Eric Bodden, Ph.D., http://bodden.de/
> >> Head of Secure Software Engineering Group at EC SPRIDE
> >> Principal Investigator in Secure Services at CASED
> >> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> >> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
> >
> >
> >
> >
> > --
> > Regards
> > Harsha vardhan R.
> >
>
>
>
> --
> Eric Bodden, Ph.D., http://bodden.de/
> Head of Secure Software Engineering Group at EC SPRIDE
> Principal Investigator in Secure Services at CASED
> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
>



-- 
Regards
Harsha vardhan R.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120622/fd9753e2/attachment-0001.html 


More information about the Soot-list mailing list