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

Nuno Machado nmachado at gsd.inesc-id.pt
Mon Mar 5 12:12:34 EST 2012


Hi Eric,

I'm not using -allow-phantom-refs. Actually, I've already managed to instrument other versions of tomcat, but I don't know if the problem is inside the transformer or in the classes from tomcat. I'll try to further check it.

Anyway, thanks for your reply! If you have any other idea regarding this issue just let me know.

Best,
Nuno

On Mar 5, 2012, at 4:24 PM, Eric Bodden wrote:

> 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