[Soot-list] Hi All,

Marc-André Laverdière-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Thu Apr 25 10:48:18 EDT 2013


Hello Ashish,

My only suggestion would be to try with Soot main :)
Anybody got a better idea?

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 04/25/2013 09:46 AM, ASHISH MISHRA wrote:
> I am trying to use the Jimple files as input to Paddle Call graph
> construction, for this I am setting jimple as the "-src-prec" option and
> change the soot-class path appropriately. When I run the soot as
> Pack.v().PackMnager(); I get the following exception.
>
> library
> path/usr/share/jdk1.7.0_01/jre/lib/i386/server:/usr/share/jdk1.7.0_01/jre/lib/i386:/usr/share/jdk1.7.0_01/jre/../lib/i386:/usr/share/jdk1.6.0_35/jre/lib/i386/client:/usr/share/jdk1.6.0_35/jre/lib/i386::/usr/java/packages/lib/i386:/lib:/usr/lib
> [Call Graph] For information on where the call graph may be incomplete,
> use the verbose option to the cg phase.
> */Exception in thread "main" java.lang.RuntimeException: Exception
> reference used other than as the first statement of an exception handler./*
> */at
> soot.jimple.toolkits.typing.fast.AugEvalFunction.eval_(AugEvalFunction.java:162)/*
> */at
> soot.jimple.toolkits.typing.fast.AugEvalFunction.eval(AugEvalFunction.java:41)/*
> */at
> soot.jimple.toolkits.typing.fast.TypeResolver.applyAssignmentConstraints(TypeResolver.java:407)/*
> */at
> soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:113)/*
> */at
> soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:101)/*
> */at soot.BodyTransformer.transform(BodyTransformer.java:51)/*
> */at soot.Transform.apply(Transform.java:104)/*
> */at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:66)/*
> */at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:89)/*
> */at soot.Pack.apply(Pack.java:124)/*
> */at soot.jimple.JimpleMethodSource.getBody(JimpleMethodSource.java:49)/*
> */at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:89)/*
> */at soot.SootMethod.retrieveActiveBody(SootMethod.java:322)/*
> */at
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:531)/*
> */at
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:426)/*
> */at
> soot.jimple.toolkits.callgraph.CallGraphBuilder.build(CallGraphBuilder.java:84)/*
> */at
> soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:43)/*
> */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:49)/*
> */at soot.Pack.apply(Pack.java:114)/*
> */at soot.PackManager.runWholeProgramPacks(PackManager.java:417)/*
> */at soot.PackManager.runPacks(PackManager.java:336)/*
> */at callgraph.PaddleTest.main(PaddleTest.java:290)/*
> */
> /*
> */
> /*
> After debugging a little further I find out that , No active Body is
> present for the Entry Method OnCreate(). This looks odd , as I can see
> the body present in the JimpleMethodSource's mTree field, I am sure the
> problem occurs during Walking this tree to get the Body, but I am not
> sure Whats the reason.
>
> NOTE - The problem exists only when I pass the Jimple Body as Input, To
> validate the jimple body, I called validate() after any instrumentation
> made to the Jimple earlier. and it returns fine.
>
> Please provide the probable cause of the problem.
>
>
>
>
>
>
>
>
> --
> 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 sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>


More information about the Soot-list mailing list