Hi, For some reason, my message filters are dropping messages.
But I think Harold pointed out that if ex_msg is NULL then the logging
will crash with %s in the change for both files.
Coleen
On 6/9/20 10:46 AM, Poonam Parhar wrote:
Hello,
Please review this simple change for improving diagnostics around
class verification and linking failures:
Bug: https://bugs.openjdk.java.net/browse/JDK-8243290
Webrev: http://cr.openjdk.java.net/~poonam/8243290/webrev.00/
Problem: During the class redefinition process, if a class
verification fails because it could not find a class referenced in the
class being redefined, the printed NoClassDefFoundError error message
is not very helpful. It does not print the class name for which
NoClassDefFoundError was encountered, and that makes it very hard to
find the real cause of redefinition failure.
The proposed solution prints the class name during class linking and
verification failures. Example output produced with these changes:
With 'redefine' tag:
[java] [3.243s][debug][redefine,class,load ] loaded
name=org.apache.commons.logging.impl.Jdk14Logger (avail_mem=819540K)
[java] [3.243s][debug][redefine,class,load ] loading
name=org.apache.commons.logging.impl.Log4JLogger kind=101 (avail_mem=819540K)
[java] [3.244s][info ][redefine,class,load,exceptions] link_class
exception: 'java/lang/NoClassDefFoundError org/apache/log4j/Priority'
[java] Java Result: 1
With 'verification' tag:
[java] [49.702s][info ][verification] Verification for
org.apache.commons.logging.impl.Log4JLogger has exception pending
'java.lang.NoClassDefFoundError org/apache/log4j/Priority'
[java] [49.702s][info ][verification] End class verification for:
org.apache.commons.logging.impl.Log4JLogger
Improved error message:
[java] Exception in thread "main" java.lang.InternalError: class
redefinition failed: invalid class
[java] at
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native
Method)
[java] at
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167)
[java] at Main.main(Unknown Source)
Thanks,
Poonam