While using IBM I am getting following error. It is working fine with Oracle. I have my class compiled with Oracle and not IBM.
I an getting this error while calling a class through reflection. Running it through main method works fine.
Class aClass=ObfuscationUtility.class;
Method[] methods = aClass.getDeclaredMethods();
for (Method method : methods) {
if (method.getName().equals(deobfuscated_method)) {
method.setAccessible(true);
try {
decryptedText = (String) method.invoke(aClass, encryptedText);
....
Any suggestions what mistake I may be doing.
Exception in thread "main" java.lang.VerifyError: JVMVRFY010 multiple jsrs use single return; class=com/ObfuscationUtility, method=<clinit>()V, pc=65
Exception Details:
Location:
com/ObfuscationUtility.<clinit>()V @65: JBjsr
Reason:
Error exists in the bytecode.
Exception Handler Table:
bci [322, 333] => handler: 1146
bci [1147, 1157] => handler: 692
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClassInternal(ClassLoader.java:396)
at java.lang.ClassLoader.defineClass(ClassLoader.java:357)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:730)
at java.net.URLClassLoader.access$400(URLClassLoader.java:96)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1187)
at java.security.AccessController.doPrivileged(AccessController.java:774)
at java.net.URLClassLoader.findClass(URLClassLoader.java:605)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:942)
at java.lang.ClassLoader.loadClass(ClassLoader.java:887)
at java.lang.ClassLoader.loadClass(ClassLoader.java:870)
Internally, the ASM library is used to perform class bytecode manipulation. One requirement of Java 7 is that it contains a StackMap table to assist with class verification. The version of ASM in use contains a defect that causes the modified class to have an incorrect StackMap table, and this causes a java.lang.VerifyError to occur when loading the class. This can happen when methods in the class make use of multi-dimensional arrays.
Problem conclusion The ASM library has been updated with a fix that correctly generates the StackMap for methods that make use of multi-dimensional arrays.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.