JDK 10 RFR JDK-8171194: Exception "Duplicate field name&signature in class file" should report the name and signature of the field
Shafi Ahmad
shafi.s.ahmad at oracle.com
Tue Feb 14 09:19:52 UTC 2017
Summary: java.lang.ClassFormatError: Exception "Duplicate field name&signature in class file" should report the name and signature of the field.
It's a very small change to single file.
In the current implementation name and signature of duplicate field is missing in java.lang.ClassFormatError exception message.
Without a field name + signature it is hard to triggering the problem.
Webrev link: http://cr.openjdk.java.net/~shshahma/8171194/webrev.00/
bug link: https://bugs.openjdk.java.net/browse/JDK-8171194
Testing: jprt and jtreg test.
I have verified my changes with the reproduces of https://bugs.openjdk.java.net/browse/JDK-8080842 on jdk8u60-b01 code base as I was not able to write reproducer of current issue.
With the fix I am getting below exception message.
$ java CreateBadClassFile
.foreach() call: Exception in thread "main" java.lang.ClassFormatError: Duplicate field name "hasNext" with signature "Ljava.lang.Object;" in class file WidgetCollection$1
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
. . .
Thanks,
Coleen
More information about the hotspot-dev
mailing list