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

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Tue Feb 15 07:18:52 EST 2011


Hi Xinwei.

This could be due to multiple things:

- A bug in the runtime library for ppc.
- A bug in the JVM for ppc.
- A bug in Soot that only manifests itself when analyzing the runtime
library for ppc.

To figure out which source this error has, it may make sense to use
the same command line as you are using now, but run Soot on a
different VM. Right now you are running Soot on ppc and the ppc JVM,
and also use it to analyze the ppc runtime library. Howver, it should
be perfectly possible to run Soot on your other architecture (and VM)
but still pass in Soot's command line the very same ppc runtime
library, i.e.  /usr/lib/jvm/ibm-java-ppc64/jre/lib/ibmjcefw.jar:/usr/lib/jvm/ibm-java-ppc64/jre/lib/rt.jar.

If this still fails, then it's likely a bug in Soot. If not, then it's
likely a bug in the execution environment for ppc.

Eric

On 15 February 2011 06:17, Xinwei Xie <xenway at gmail.com> wrote:
> 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
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Dr. Eric Bodden, http://bodden.de/
Principal Investigator in Secure Services at CASED
Coordinator of the CASED Advisory Board of Study Affairs
PostDoc at Software Technology Group, Technische Universität Darmstadt
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt


More information about the Soot-list mailing list