[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Soot looking for array classfiles



Hi,

I've run across this exception using Soot:

    Exception in thread "main" java.lang.RuntimeException: 
    Aborting: can't find classfile[Ljava.rmi.server.Operation;
	at soot.Scene.getSootClass(Scene.java:300)
	at soot.coffi.CFG.generateJimple(CFG.java:4434)
	at soot.coffi.CFG.jimplify(CFG.java:1463)
	at soot.coffi.CFG.jimplify(CFG.java:1126)
	at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:98)
	at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:79)
	at soot.SootMethod.retrieveActiveBody(SootMethod.java:274)

The class that is being analysed was generated by jikes 1.18.
I don't see this with jikes 1.15 generated class files.

My guess is the following CONSTANT_Methodref entry in the constant pool
of the class file:

 [21]	class "[Ljava/rmi/server/Operation;"
	method "clone"
	descriptor "()Ljava/lang/Object;"

Jikes has put in a reference to an Object method as an array class
method instead of an Object method.

Would this cause such behavior in Soot? Is there an easy fix??

Thanks,
-Archie

__________________________________________________________________________
Archie Cobbs     *    Halloo Communications    *     http://www.halloo.com