[Soot-list] Bytecode loading error

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Mon Oct 27 16:38:27 EDT 2014


I am having an error in Soot using both Coffi and the ASM front-end.

I have some code calling a method in HttpServletRequest that was 
compiled just now. That code was interfaceinvokes, and the class is 
specified as an interface.

However, Soot disagrees and crashes with this error (Coffi front-end):
Trying to create interface invoke expression for non-interface type: 
javax.servlet.http.HttpServletRequest Use JVirtualInvokeExpr or 
JSpecialInvokeExpr instead!
java.lang.RuntimeException: Trying to create interface invoke expression 
for non-interface type: javax.servlet.http.HttpServletRequest Use 
JVirtualInvokeExpr or JSpecialInvokeExpr instead!
	at 
soot.jimple.internal.JInterfaceInvokeExpr.<init>(JInterfaceInvokeExpr.java:46)
	at soot.jimple.Jimple.newInterfaceInvokeExpr(Jimple.java:433)
	at soot.coffi.CFG.generateJimple(CFG.java:4516)


It happens with javax.servlet.http.HttpServletRequest
when coming from this jar: 
http://central.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar

Its modifier is 0, so it is not considered an interface. Yet, javap 
confirms that it is an interface.

Anybody has a clue what is going on???

Regards,

-- 
Marc-André Laverdière-Papineau
Doctorant - PhD Candidate


More information about the Soot-list mailing list