[Soot-list] A problem when analysing BCEL
Phung Hua Nguyen
nhp at cse.unsw.edu.au
Mon Mar 28 00:27:00 EST 2005
Dear all,
I try to use Soot to analyse a library. I created a NullClass with an empty
body of main function. I used option --dynamic-package to load all classes in
the package I want to analyse. By this way, I can analyse all packages in
rt.jar, but when I try to analyse some other packages such org.apache.bcel I
got a problem. The following is the command and the error message:
~/j2sdk1.4.2_07/bin/java -Xmx800m-classpath
~/soot-2.0.1/soot/classes:~/j2sdk1.4.2_07/jre/lib/rt.jar:~/soot-2.0.1/jasmin/classes
soot.Main -app -W -p cg
all-reachable:true,safe-forname:true,safe-newinstance:true,trim-clinit:true
-include org.apache.bcel --dynamic-package org.apache.bcel -p cg.spark
enabled:true,propagator:worklist,simulate-natives:true,on-fly-cg:false,dump-solution:false
-p wjop.si enabled:false -soot-class-path
~/j2sdk1.4.2_07/jre/lib/rt.jar:~/benchmark/bcel-5.1:~/testscript/runlib:~/benchmark/jakarta-regexp-1.3/jakarta-regexp-1.3.jar
-f none NullClass
Exception in thread "main" java.lang.RuntimeException: Exception range does not
coincide with jimple instructions
at soot.coffi.CFG.jimplify(CFG.java:1506)
at soot.coffi.CFG.jimplify(CFG.java:1099)
at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:98)
at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:79)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:274)
at
soot.jimple.toolkits.callgraph.CallGraphBuilder.processNewMethod(CallGraphBuilder.java:114)
at
soot.jimple.toolkits.callgraph.CallGraphBuilder.processWorklist(CallGraphBuilder.java:93)
at
soot.jimple.toolkits.callgraph.CallGraphBuilder.build(CallGraphBuilder.java:81)
at
soot.jimple.spark.builder.ContextInsensitiveBuilder.build(ContextInsensitiveBuilder.java:77)
at
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:64)
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:104)
at soot.PackManager.runWholeProgramPacks(PackManager.java:255)
at soot.PackManager.runPacks(PackManager.java:238)
at soot.Main.run(Main.java:172)
at soot.Main.main(Main.java:152)
I tried with java 1.4.1 but I got another problem:
Soot started on Sun Mar 27 18:00:02 EST 2005
[Call Graph] For information on where the call graph may be incomplete, use the
verbose option to the cg phase.
Unexpected Signal : 11 occurred at PC=0x402FBFF8
Function=oop_follow_contents__13objArrayKlassP7oopDesc+0x38
Library=/home/nhp/j2sdk1.4.1/jre/lib/i386/client/libjvm.so
Dynamic libraries:
08048000-0804d000 r-xp 00000000 09:01 4161922 /home/nhp/j2sdk1.4.1/bin/java
0804d000-0804e000 rw-p 00004000 09:01 4161922 /home/nhp/j2sdk1.4.1/bin/java
40000000-40012000 r-xp 00000000 09:01 3604482 /lib/ld-2.2.93.so
40012000-40013000 rw-p 00012000 09:01 3604482 /lib/ld-2.2.93.so
...
Is there any suggestion?
Thanks in advance,
Phung
More information about the Soot-list
mailing list