[Soot-list] loadnecessaryclasses error

Eric Bodden eric.bodden at uni-paderborn.de
Mon May 27 13:05:30 EDT 2019


Hi Iverson.

I’d recommend NOT calling loadNecessaryClasses(). Instead, after you have set your options, call soot.Main.main(…). This then causes Soot to set up everything that is required for its classloading.

Let me know if that works.

Best wishes
Eric

> On 24. May 2019, at 21:20, Iverson Luis Pereira <ilp at cin.ufpe.br> wrote:
> 
> Hello,
> 
> I'm getting the exception below every time I run Soot. I've already tried adding this class "java.lang.RuntimeException" through the "Scene.v().addBasicClass ()" method but I was not successful. Can anybody help me?
> 
> My soot config:
>         Options.v().set_src_prec(Options.src_prec_apk);
>         Options.v().set_process_dir(Collections.singletonList(this.apkLocation));
>         Options.v().set_android_jars(androidSdkPath);
>         Options.v().set_allow_phantom_refs(true);
>         Options.v().set_process_multiple_dex(true);        
>         Options.v().set_output_format(Options.output_format_none);
>         
>         Options.v().set_whole_program(true);
>         Options.v().setPhaseOption("cg.spark", "on");
> 
>         Scene.v().loadNecessaryClasses();
> Exception:
> java.lang.IllegalStateException: RefType java.lang.RuntimeException 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) ~[soot-3.3.0.jar:na]
> at soot.toolkits.exceptions.ThrowableSet$Manager.<init>(ThrowableSet.java:1066) ~[soot-3.3.0.jar:na]
> at soot.Singletons.soot_toolkits_exceptions_ThrowableSet_Manager(Singletons.java:1834) ~[soot-3.3.0.jar:na]
> at soot.toolkits.exceptions.ThrowableSet$Manager.v(ThrowableSet.java:1141) ~[soot-3.3.0.jar:na]
> at soot.toolkits.exceptions.UnitThrowAnalysis.<init>(UnitThrowAnalysis.java:214) ~[soot-3.3.0.jar:na]
> at soot.toolkits.exceptions.UnitThrowAnalysis.<init>(UnitThrowAnalysis.java:227) ~[soot-3.3.0.jar:na]
> at soot.Singletons.soot_toolkits_exceptions_UnitThrowAnalysis(Singletons.java:1848) ~[soot-3.3.0.jar:na]
> at soot.toolkits.exceptions.UnitThrowAnalysis.v(UnitThrowAnalysis.java:243) ~[soot-3.3.0.jar:na]
> at soot.Scene.getDefaultThrowAnalysis(Scene.java:1479) ~[soot-3.3.0.jar:na]
> at soot.jimple.toolkits.scalar.CopyPropagator.internalTransform(CopyPropagator.java:129) ~[soot-3.3.0.jar:na]
> at soot.BodyTransformer.transform(BodyTransformer.java:55) ~[soot-3.3.0.jar:na]
> at soot.BodyTransformer.transform(BodyTransformer.java:59) ~[soot-3.3.0.jar:na]
> at soot.PackManager.runBodyPacks(PackManager.java:1000) ~[soot-3.3.0.jar:na]
> at soot.PackManager.lambda$runBodyPacks$0(PackManager.java:660) ~[soot-3.3.0.jar:na]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_201]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
> at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
> 
> -- 
> Iverson Pereira,
> MSc Student
> Federal University of Pernambuco, Recife, Brazil
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list



More information about the Soot-list mailing list