[Soot-list] Attempt to create VarNode of type bottom_type

Eric Bodden eric.bodden at ec-spride.de
Mon Mar 5 11:24:13 EST 2012


Hi Nuno.

Are you using the -allow-phantom-refs option? If not, may it be the
case that your program contains illegal bytecode?

Cheers,
Eric

On 5 March 2012 16:11, Nuno Machado <nmachado at gsd.inesc-id.pt> wrote:
> Hi everyone,
> I'm trying to instrument jakarta-tomcat-3.2.1 classes, and I get the
> following error:
>
> Caused by: java.lang.RuntimeException: Attempt to create VarNode of type
> bottom_type
> at soot.jimple.spark.pag.VarNode.<init>(VarNode.java:87)
> at soot.jimple.spark.pag.LocalVarNode.<init>(LocalVarNode.java:41)
> at soot.jimple.spark.pag.PAG.makeLocalVarNode(PAG.java:497)
> at
> soot.jimple.spark.builder.MethodNodeFactory.caseLocal(MethodNodeFactory.java:207)
> at soot.jimple.internal.JimpleLocal.apply(JimpleLocal.java:132)
> at
> soot.jimple.spark.builder.MethodNodeFactory$1.caseAssignStmt(MethodNodeFactory.java:74)
> at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:221)
> at
> soot.jimple.spark.builder.MethodNodeFactory.handleStmt(MethodNodeFactory.java:67)
> at soot.jimple.spark.pag.MethodPAG.buildNormal(MethodPAG.java:167)
> at soot.jimple.spark.pag.MethodPAG.build(MethodPAG.java:133)
> at
> soot.jimple.spark.solver.OnFlyCallGraph.processReachables(OnFlyCallGraph.java:64)
> at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:56)
> at
> soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:123)
> at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:53)
> at
> soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:151)
> 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:408)
> at soot.PackManager.runPacks(PackManager.java:329)
> at soot.Main.run(Main.java:198)
> at soot.Main.main(Main.java:141)
>
>
> I
> added Options.v().setPhaseOption("jb.tr","use-older-type-assigner:true") but
> now I get the following error instead:
>
> Caused by: java.lang.RuntimeException:
> soot.jimple.toolkits.typing.TypeException:
> soot.jimple.toolkits.typing.ConstraintChecker$RuntimeTypeException: Type
> Error(12)
> at
> soot.jimple.toolkits.typing.ConstraintChecker.error(ConstraintChecker.java:75)
> at
> soot.jimple.toolkits.typing.ConstraintChecker.caseIfStmt(ConstraintChecker.java:962)
> at soot.jimple.internal.JIfStmt.apply(JIfStmt.java:139)
> at
> soot.jimple.toolkits.typing.ConstraintChecker.check(ConstraintChecker.java:53)
> at
> soot.jimple.toolkits.typing.TypeResolver.check_and_fix_constraints(TypeResolver.java:804)
> at
> soot.jimple.toolkits.typing.TypeResolver.resolve_step_3(TypeResolver.java:299)
> at soot.jimple.toolkits.typing.TypeResolver.resolve(TypeResolver.java:195)
> at
> soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:99)
> 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.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:117)
> at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
> at soot.SootMethod.retrieveActiveBody(SootMethod.java:315)
> at
> soot.jimple.toolkits.annotation.LineNumberAdder.internalTransform(LineNumberAdder.java:44)
> at soot.PackManager.runPacks(PackManager.java:325)
> at soot.Main.run(Main.java:198)
> at soot.Main.main(Main.java:141)
>
> at
> soot.jimple.toolkits.typing.ConstraintChecker.check(ConstraintChecker.java:61)
> at
> soot.jimple.toolkits.typing.TypeResolver.check_and_fix_constraints(TypeResolver.java:804)
> at
> soot.jimple.toolkits.typing.TypeResolver.resolve_step_3(TypeResolver.java:299)
> at soot.jimple.toolkits.typing.TypeResolver.resolve(TypeResolver.java:195)
> at
> soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:99)
> 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.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:117)
> at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
> at soot.SootMethod.retrieveActiveBody(SootMethod.java:315)
> at
> soot.jimple.toolkits.annotation.LineNumberAdder.internalTransform(LineNumberAdder.java:44)
> at soot.PackManager.runPacks(PackManager.java:325)
> at soot.Main.run(Main.java:198)
> at soot.Main.main(Main.java:141)
>
> at soot.jimple.toolkits.typing.TypeResolver.resolve(TypeResolver.java:201)
> at
> soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:99)
> 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.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:117)
> at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
> at soot.SootMethod.retrieveActiveBody(SootMethod.java:315)
> at
> soot.jimple.toolkits.annotation.LineNumberAdder.internalTransform(LineNumberAdder.java:44)
> at soot.PackManager.runPacks(PackManager.java:325)
> at soot.Main.run(Main.java:198)
> at soot.Main.main(Main.java:141)
>
>  Do you have a clue on what the problem may be?
>
> Thank you!
>
> Regards,
> Nuno
>
> _______________________________________________
> 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


More information about the Soot-list mailing list