soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.84k stars 707 forks source link

run AnnotateClass.java example occur exception #1099

Open Xintao-C opened 5 years ago

Xintao-C commented 5 years ago

I run AnnotateClass.java example with nightly build sootclasses-trunk-jar-with-dependencies.jar, and jdk 1.8.0_161, but occurs some follow exceptions that I can not find the reason, please tell me why if you know,thanks very much the example is : https://github.com/Sable/soot/blob/develop/eclipse/ca.mcgill.sable.soot/examples/AnnotateClass.java

exception: Exception in thread "main" java.lang.IllegalStateException: RefType java.lang.ArithmeticException not loaded. If you tried to get the RefType of a library class, did you call loadNecessaryClasses()? Otherwise please check Soot's classpath. at soot.Scene.getRefType(Scene.java:1046) at soot.toolkits.exceptions.ThrowableSet$Manager.<init>(ThrowableSet.java:1067) at soot.Singletons.soot_toolkits_exceptions_ThrowableSet_Manager(Singletons.java:1834) at soot.toolkits.exceptions.ThrowableSet$Manager.v(ThrowableSet.java:1141) at soot.toolkits.exceptions.UnitThrowAnalysis.<init>(UnitThrowAnalysis.java:214) at soot.toolkits.exceptions.UnitThrowAnalysis.<init>(UnitThrowAnalysis.java:227) at soot.Singletons.soot_toolkits_exceptions_UnitThrowAnalysis(Singletons.java:1848) at soot.toolkits.exceptions.UnitThrowAnalysis.v(UnitThrowAnalysis.java:243) at soot.Scene.getDefaultThrowAnalysis(Scene.java:1479) at soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:163) at soot.toolkits.scalar.LocalDefs$Factory.newLocalDefs(LocalDefs.java:65) at soot.toolkits.scalar.LocalDefs$Factory.newLocalDefs(LocalDefs.java:51) at soot.baf.toolkits.base.LoadStoreOptimizer$Instance.computeLocalDefsAndLocalUsesInfo(LoadStoreOptimizer.java:210) at soot.baf.toolkits.base.LoadStoreOptimizer$Instance.go(LoadStoreOptimizer.java:141) at soot.baf.toolkits.base.LoadStoreOptimizer.internalTransform(LoadStoreOptimizer.java:126) at soot.BodyTransformer.transform(BodyTransformer.java:51) at soot.Transform.apply(Transform.java:120) at soot.BodyPack.internalApply(BodyPack.java:50) at soot.Pack.apply(Pack.java:125) at soot.baf.BafBody.<init>(BafBody.java:137) at soot.baf.Baf.newBody(Baf.java:549) at example.MyMain.main(MyMain.java:132)

Xintao-C commented 5 years ago

Find the reason, the exceptions cause by the version of soot. It can be solved with soot 2.5.0 and jdk 1.7.0.

mbenz89 commented 5 years ago

Which version of Soot have you used before that? 3.2.0 is the most recent release: https://mvnrepository.com/artifact/ca.mcgill.sable/soot/3.2.0