<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Thanks Serguei!<br>
<br>
regards,<br>
Poonam<br>
<br>
<div class="moz-cite-prefix">On 6/9/20 10:56 AM,
<a class="moz-txt-link-abbreviated" href="mailto:serguei.spitsyn@oracle.com">serguei.spitsyn@oracle.com</a> wrote:<br>
</div>
<blockquote type="cite"
cite="mid:e4fa2ec5-f33f-d58b-9bac-d9589207a2a0@oracle.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">Hi Poonam,<br>
<br>
Thank you for taking care about this!<br>
It looks good besides the comment from Harold and Coleen about
ex_msg can be equal to NULL.<br>
<br>
Thanks,<br>
Serguei<br>
<br>
On 6/9/20 07:46, Poonam Parhar wrote:<br>
</div>
<blockquote type="cite"
cite="mid:ea66c872-011f-d709-8097-da2f9f89b549@oracle.com">
Hello,<br>
<br>
Please review this simple change for improving diagnostics
around class verification and linking failures:<br>
<br>
Bug: <a class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8243290"
moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8243290</a><br>
Webrev: <a class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/~poonam/8243290/webrev.00/"
moz-do-not-send="true">http://cr.openjdk.java.net/~poonam/8243290/webrev.00/</a><br>
<br>
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.<br>
<br>
The proposed solution prints the class name during class linking
and verification failures. Example output produced with these
changes:<br>
<br>
With 'redefine' tag:<br>
<pre> [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</pre>
With 'verification' tag:<br>
<pre> [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
</pre>
<br>
Improved error message:<br>
<pre> [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)</pre>
<br>
Thanks,<br>
Poonam<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>