[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Soot NPE
Hi, John.
> though, if we had the class file that triggers it.
From the Java Mail API.
> java -Xmx400m soot.Main --app -W -cp \
> $CLASSPATH:/usr/local/jdk/jre/lib/rt.jar:. APEnterprise \
> | egrep 'Applying phase jb|Constructing JimpleBody'
I added a --verbose in there. ;-)
> exception gives us the class name being analyzed, while the
> last match on 'Constructing JimpleBody' will definitely provide
> the name of the troublesome method.
Here's the (rather trimmed) output:
[run] Constructing JimpleBody from coffi...
Applying phase jb.ls to <javax.mail.EventQueue: void run()>.
Applying phase jb.a to <javax.mail.EventQueue: void run()>.
Applying phase jb.ule to <javax.mail.EventQueue: void run()>.
Applying phase jb.tr to <javax.mail.EventQueue: void run()>.
Applying phase jb.lns to <javax.mail.EventQueue: void run()>.
Applying phase jb.cp to <javax.mail.EventQueue: void run()>.
Applying phase jb.dae to <javax.mail.EventQueue: void run()>.
Applying phase jb.cp-ule to <javax.mail.EventQueue: void run()>.
Applying phase jb.ne to <javax.mail.EventQueue: void run()>.
Applying phase jb.uce to <javax.mail.EventQueue: void run()>.
[run] Constructing JimpleBody from coffi...
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:315)
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:79)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:274)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:191)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:82)
at
soot.jimple.toolkits.callgraph.CallGraphBuilder.build(CallGraphBuilder.java:94)
at
soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:43)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.Transform.apply(Transform.java:79)
at soot.RadioScenePack.internalApply(RadioScenePack.java:60)
at
soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:36)
at soot.Pack.apply(Pack.java:107)
at soot.PackManager.runWholeProgramPacks(PackManager.java:292)
at soot.PackManager.runPacks(PackManager.java:275)
at soot.Main.run(Main.java:180)
at soot.Main.main(Main.java:154)
I'll keep the directory around for a while in case you need some more
debug information.
Hope this helps.
Sincerely,
Dave Jarvis
--
Invoq Systems Inc.
t. 250.380.0304
e. djarvis@invoqsystems.com
w. http://www.invoqsystems.com