Skip to content

java.lang.IllegalArgumentException: Attempt to create SootMethodRef with null returnType #1696

Closed
@kimgimkigi

Description

@kimgimkigi

Steps to reproduce:
1.) ...

Files used to reproduce:
...

Soot version:

trunk

Command line:

-cp junit.jar:build -pp -w -app -keep-line-number -keep-bytecode-offset -p jb use-original-names -p cg implicit-entry:false -p cg.spark enabled -p cg.spark simulate-natives -p cg safe-forname -p cg safe-newinstance -main-class org.jfree.chart.plot.junit.PlotPackageTests -f none org.jfree.chart.plot.junit.PlotPackageTests

Max Memory:

3641MB

Stack trace:

java.lang.IllegalArgumentException: Attempt to create SootMethodRef with null returnType :sun.reflect.annotation.AnnotationType===retention
	at soot.SootMethodRefImpl.<init>(SootMethodRefImpl.java:87)
	at soot.Scene.makeMethodRef(Scene.java:1939)
	at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.addType(OnFlyCallGraphBuilder.java:608)
	at soot.jimple.spark.solver.OnFlyCallGraph$2.visit(OnFlyCallGraph.java:170)
	at soot.jimple.spark.sets.HybridPointsToSet.forall(HybridPointsToSet.java:119)
	at soot.jimple.spark.solver.OnFlyCallGraph.updatedNode(OnFlyCallGraph.java:167)
	at soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:158)
	at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:81)
	at soot.jimple.spark.SparkTransformer.propagatePAG(SparkTransformer.java:238)
	at soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:155)
	at soot.SceneTransformer.transform(SceneTransformer.java:36)
	at soot.Transform.apply(Transform.java:105)
	at soot.RadioScenePack.internalApply(RadioScenePack.java:64)
	at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:61)
	at soot.Pack.apply(Pack.java:118)
	at soot.PackManager.runWholeProgramPacks(PackManager.java:619)
	at soot.PackManager.runPacksNormally(PackManager.java:500)
	at soot.PackManager.runPacks(PackManager.java:425)
	at soot.Main.run(Main.java:280)
	at soot.Main.main(Main.java:142)
	at vasco.soot.examples.SignTest.main(SignTest.java:119)

Hi guys
I'm trying to use Soot with vasco(https://github.com/rohanpadhye/vasco) to perform SignAnalysis.
But I get IllegalArgumentException about SootMethodRefImpl.

In SootMethodRefImpl, it looks returnType null check(Line:85) and error occurred from that line.
So I tried to figure out class and method name, finally I got error caused by "sun.reflect.annotation.AnnotationType" class and "retention" methods.

It seems like those are related to annotations but my main_class does not have "retention" annotations.
How can I solve this problem? Plz give advice!
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions