[Soot-list] null pointer exception in coffi again

Ru-Gang Xu rugang at gmail.com
Mon Sep 12 22:01:36 EDT 2005


I have been getting a null pointer exception when I run soot (soot version: 
checked out from cvs 2 weeks ago) with the options "-w -p
cg.sparkon,verbose" The program I am running soot on a tester for an
Eclipse plug-in
(it presently just calls two methods and exits). The class path includes all 
the jars related to eclipse. The output is as follows. . . 

Soot started on Mon Sep 12 18:49:03 PDT 2005
[Call Graph] For information on where the call graph may be incomplete, use 
the verbose option to the cg phase.
Total methods: 46275
Initially reachable methods: 99
Classes with at least one reachable method: 41
[Spark] Pointer Assignment Graph in 10.0 seconds.
Total types: 6400
[Spark] Type masks in 5.1 seconds.
VarNodes: 749
FieldRefNodes: 122
AllocNodes: 416
Cleaning up graph for merged nodes
Done cleaning up graph for merged nodes
[Spark] Pointer Graph simplified in 0.0 seconds.
Worklist has 422 nodes.
Now handling field references
Worklist has 1502 nodes.
Now handling field references
Worklist has 1978 nodes.
Now handling field references
Worklist has 2829 nodes.
Now handling field references
Worklist has 2097 nodes.
Now handling field references
Worklist has 1579 nodes.
Now handling field references
Worklist has 1661 nodes.
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:333)
at soot.coffi.CFG.adjustExceptionTable(CFG.java:953)
at soot.coffi.CFG.eliminateJsrRets(CFG.java:461)
at soot.coffi.CFG.<init>(CFG.java:89)
at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:87)
at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:80)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:304)
at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(
OnFlyCallGraphBuilder.java:182)
at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(
OnFlyCallGraphBuilder.java:81)
at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:69) at 
soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:126)
at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:55) at 
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java
:121)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.Transform.apply(Transform.java:89)
at soot.RadioScenePack.internalApply(RadioScenePack.java:60)
at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(
CallGraphPack.java:40)
at soot.Pack.apply(Pack.java:110)
at soot.PackManager.runWholeProgramPacks(PackManager.java:357)
at soot.PackManager.runPacks(PackManager.java:304)
at soot.Main.run(Main.java:179)
at soot.Main.main(Main.java:153)
at tutorial.Main.main(Main.java:55)

I have seen the previously nullpointer post on the mailing list and the 
described patch: 
http://www.sable.mcgill.ca/listarchives/soot-list/msg01146.html The patch is 
already been included so this bug is probably something new. 

I'm curious if anyone else has gotten this bug and fix, or has gotten the cg 
phase to pass on any Eclipse plugin code. 

Thanks.

-RuGang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20050912/a2967a6d/attachment.htm


More information about the Soot-list mailing list