[Soot-list] Problems running Paddle

Tillmann tirunkel at informatik.uni-bremen.de
Fri Nov 11 09:10:31 EST 2011


Hi Hamid,

thanks again!

the resulting libjeddbuddy seems to have the same problems as my first 
one (Exception below [2]). The System.loadLibrary()-Funktion works 
without exceptions, so i assume that the 64bit-library is properly 
loaded (if i try to load the 32bit precompiled one, i've got an 
appropriate exception).

After that i've tried to work on an other project which is smaller 
(about 100 LOC). The exception i got is below [1] .

Maybe there is a problem in my Soot-Lifecycle, but the invocation of the 
paddle-framework is exactly positioned where i former invoked spark or 
the CHA-Analysis (after PackManager.v().runPacks();).

[1]
Exception in thread "main" java.lang.RuntimeException: no object with 
number 6
     at soot.util.ArrayNumberer.get(ArrayNumberer.java:56)
     at soot.util.JeddNumberer.get(JeddNumberer.java:37)
     at 
jedd.internal.RelationContainer$MultiRelationIterator.curCubeToObject(RelationContainer.java:229)
     at 
jedd.internal.RelationContainer$MultiRelationIterator.newCube(RelationContainer.java:225)
     at 
jedd.internal.RelationContainer$MultiRelationIterator.<init>(RelationContainer.java:200)
     at jedd.internal.RelationContainer.iterator(RelationContainer.java:184)
     at 
soot.jimple.paddle.queue.Rsrcm_stmt_kind_tgtmBDD$1.next(Rsrcm_stmt_kind_tgtmBDD.java:79)
     at 
soot.jimple.paddle.TradCallEdgeHandler.update(TradCallEdgeHandler.java:47)
     at 
soot.jimple.paddle.DependencyManager.update(DependencyManager.java:76)
     at soot.jimple.paddle.OFCGScene.solve(OFCGScene.java:168)
     at soot.jimple.paddle.OFCGConfig.solve(OFCGConfig.java:35)
     at soot.jimple.paddle.PaddleScene.solve(PaddleScene.java:1390)
     at 
soot.jimple.paddle.PaddleTransformer.solve(PaddleTransformer.java:99)

[2]
Exception in thread "main" java.lang.RuntimeException: Value 16384 was 
too large in domain soot.jimple.paddle.bdddomains.SigDomain!
     at jedd.internal.Domain.setBits(Domain.java:62)
     at jedd.internal.Jedd.literal(Jedd.java:158)
     at soot.jimple.paddle.BDDVirtualCalls.<init>(BDDVirtualCalls.java:38)
     at soot.jimple.paddle.BDDFactory.VirtualCalls(BDDFactory.java:199)
     at soot.jimple.paddle.OFCGScene.build(OFCGScene.java:241)
     at soot.jimple.paddle.OFCGScene.setup(OFCGScene.java:91)
     at soot.jimple.paddle.OFCGConfig.setup(OFCGConfig.java:30)
     at soot.jimple.paddle.PaddleScene.setup(PaddleScene.java:1321)
     at 
soot.jimple.paddle.PaddleTransformer.setup(PaddleTransformer.java:84)
     at 
de.tirunkel.da.analysis.AnalysisAggregator.run(AnalysisAggregator.java:297)
     at de.tirunkel.da.main.Controller.main(Controller.java:149)
     at de.tirunkel.da.main.SimulatedStart.main(SimulatedStart.java:29)

Am 11.11.2011 14:06, schrieb Hamid A. Toussi:
> Hello Tillman,
>
> I have found my original script that build the libjeddbuddy.so. In
> particular, we don't need any C++ file so using GNU C++ compiler (g++)
> is unnecessary. The following should be straightforward. You don't
> need to generate the wrappers since they are already in the jedd
> distribution.
>
> You don't need to use swig as long as you stick with  the current
> jedd's interface since the wrappers are already generated.
>
> buddy_cfiles="bddio.c bddop.c bvec.c cache.c fdd.c imatrix.c kernel.c \
>         pairs.c prime.c reorder.c tree.c"
>
> jedd_files="jedd-0.4/runtime/generated/jbuddy_wrap.c
> jedd-0.4/runtime/csrc/jbuddy.c"
>
>
> gcc -c -fPIC -Wall -g3 $buddy_cfiles $jedd_files -I./
> -Ijedd-0.4/runtime/generated -Ijedd-0.4/runtime/csrc
> -I/home/hamid/ibm-java-x86_64-60/include
> -I/home/hamid/ibm-java-x86_64-60/include/linux
>
>
> objs="bddio.o bddop.o bvec.o cache.o fdd.o imatrix.o kernel.o \
>         pairs.o prime.o reorder.o tree.o jbuddy_wrap.o jbuddy.o"
> ld -G $objs -o libjeddbuddy.so



More information about the Soot-list mailing list