[Soot-list] Can soot analyze dacapo bench under IBM JVM in PPC architecture.

Xinwei Xie xenway at gmail.com
Tue Feb 15 00:17:56 EST 2011


Hi,
I am trying to use soot and tamiflex to analyze dacapo-9.12-bach
benchmark, especially for the whole program construction of call
graph. I used the script from tamifix and experiment on two different
machines: one is x86_64 and the other is IBM ppc64. Both have 16GB
memory.
There is only IBM released JDK in ppc64 architecture. Theoretically
there should be no problem running the same command in those two
machines. The x86_64 box works fine. However there raised some error
in the IBM box.
The IBM JDK info is as follows:

java version "1.6.0"
Java(TM) SE Runtime Environment (build pxp6460sr8fp1-20100624_01(SR8 FP1))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux ppc64-64
jvmxp6460sr8ifx-20100609_59383 (JIT enabled, AOT enabled)
J9VM - 20100609_059383
JIT  - r9_20100401_15339ifx2
GC   - 20100308_AA)
JCL  - 20100624_01

Here is the commands I am running:

BENCH=avrora

1. java -javaagent:poa.jar=out/${BENCH}-default -jar
dacapo-9.12-bach.jar ${BENCH} -s default

2. java -Xmx10G -cp soot-2.4.0.jar soot.Main -w -app -p cg
reflection-log:out/${BENCH}-default/refl.log -cp
/usr/lib/jvm/ibm-java-ppc64/jre/lib/ibmjcefw.jar:/usr/lib/jvm/ibm-java-ppc64/jre/lib/rt.jar:out/${BENCH}-default
-main-class Harness -include org.apache. -include org.w3c. -d
sootified/${BENCH}-default/ Harness

I've got such error after the second command
++++++++++++++++++++
[Call Graph] For information on where the call graph may be
incomplete, use the verbose option to the cg phase.
Exception in thread "main" java.lang.NullPointerException
	at soot.jimple.toolkits.callgraph.Edge.hashCode(Edge.java:116)
	at java.util.HashMap.putImpl(HashMap.java:620)
	at java.util.HashMap.put(HashMap.java:605)
	at java.util.HashSet.add(HashSet.java:95)
	at soot.jimple.toolkits.callgraph.CallGraph.addEdge(CallGraph.java:43)
	at soot.jimple.toolkits.callgraph.ContextInsensitiveContextManager.addVirtualEdge(ContextInsensitiveContextManager.java:39)
	at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.addType(OnFlyCallGraphBuilder.java:456)
	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: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)
+++++++++++++++++++++++

Any idea about such issue. Thanks very much.

-- Xinwei


More information about the Soot-list mailing list