[Soot-list] OpenJDK Update Breaks Analyses

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Wed Jan 16 15:59:12 EST 2013


Hello people,

I wanted to give that information to others, with the hope I'll save 
some hair pulling ;)

I'm pasting the exception below. But note that if this happens for you 
as well, you can switch to Oracle's JDK and it stops happening.

Anybody knows how to make Soot resilient against that kind of stuff???

That is the exception.
Exception in thread "main" 
soot.SootMethodRefImpl$ClassResolutionFailedException: Class 
java.lang.invoke.MethodHandle doesn't have method 
invokeExact([java.lang.Class, java.lang.Class]) : boolean; failed to 
resolve in superclasses and interfacesLooking in 
java.lang.invoke.MethodHandle which has methods 
[<java.lang.invoke.MethodHandle: java.lang.invoke.MethodType type()>, 
<java.lang.invoke.MethodHandle: void 
<init>(java.lang.invoke.MethodType)>, <java.lang.invoke.MethodHandle: 
java.lang.Object invokeExact(java.lang.Object[])>, 
<java.lang.invoke.MethodHandle: java.lang.Object 
invoke(java.lang.Object[])>, <java.lang.invoke.MethodHandle: 
java.lang.Object invokeWithArguments(java.lang.Object[])>, 
<java.lang.invoke.MethodHandle: java.lang.Object 
invokeWithArguments(java.util.List)>, <java.lang.invoke.MethodHandle: 
java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType)>, 
<java.lang.invoke.MethodHandle: java.lang.invoke.MethodHandle 
asSpreader(java.lang.Class,int)>, <java.lang.invoke.MethodHandle: void 
asSpreaderChecks(java.lang.Class,int)>, <java.lang.invoke.MethodHandle: 
void spreadArrayChecks(java.lang.Class,int)>, 
<java.lang.invoke.MethodHandle: java.lang.invoke.MethodHandle 
asCollector(java.lang.Class,int)>, <java.lang.invoke.MethodHandle: 
boolean asCollectorChecks(java.lang.Class,int)>, 
<java.lang.invoke.MethodHandle: java.lang.invoke.MethodHandle 
asVarargsCollector(java.lang.Class)>, <java.lang.invoke.MethodHandle: 
boolean isVarargsCollector()>, <java.lang.invoke.MethodHandle: 
java.lang.invoke.MethodHandle asFixedArity()>, 
<java.lang.invoke.MethodHandle: java.lang.invoke.MethodHandle 
bindTo(java.lang.Object)>, <java.lang.invoke.MethodHandle: 
java.lang.String toString()>, <java.lang.invoke.MethodHandle: 
java.lang.String debugString()>, <java.lang.invoke.MethodHandle: void 
<clinit>()>]
Looking in java.lang.Object which has methods [<java.lang.Object: void 
<init>()>, <java.lang.Object: void registerNatives()>, 
<java.lang.Object: java.lang.Class getClass()>, <java.lang.Object: int 
hashCode()>, <java.lang.Object: boolean equals(java.lang.Object)>, 
<java.lang.Object: java.lang.Object clone()>, <java.lang.Object: 
java.lang.String toString()>, <java.lang.Object: void notify()>, 
<java.lang.Object: void notifyAll()>, <java.lang.Object: void 
wait(long)>, <java.lang.Object: void wait(long,int)>, <java.lang.Object: 
void wait()>, <java.lang.Object: void finalize()>, <java.lang.Object: 
void <clinit>()>]



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


More information about the Soot-list mailing list