RFR (M) JDK-8169559: Add class loader names to relevant VM messages
Lois Foltan
lois.foltan at oracle.com
Thu Jun 21 00:34:20 UTC 2018
Please review this change to introduce a new utility method
Klass::class_in_module_of_loader() to uniformly provide a way to add a
class' module name and class loader's name_and_id to error messages and
potentially logging.
The primary focus of this change was to remove the former method
Klass::class_loader_and_module_name() and change any error messages
currently using that functionality since it followed the
StackTraceElement
(https://docs.oracle.com/javase/9/docs/api/java/lang/StackTraceElement.html#toString--)
format which is intended for stack traces not for use within error
messages. This change also includes a change to one IllegalAccessError
message to demonstrate how an IAE would be formatted with the additional
module and class loader information. This may conflict with the current
review of JDK-8199940: Print more information about class loaders in
IllegalAccessErrors.
open webrev at http://cr.openjdk.java.net/~lfoltan/bug_jdk8169559/webrev/
bug link at https://bugs.openjdk.java.net/browse/JDK-8169559
JDK-8166633 outlines a new proposal where error messages follow a format
of ERRROR: PROBLEM (REASON) where the PROBLEM is aggressively simple
(and definitely avoids arbitrary-length loader names) so the REASON
bears all the cost of explaining the PROBLEM with more specifics. See
the proposal in more detail at
https://bugs.openjdk.java.net/browse/JDK-8166633. The new utility method
Klass::class_in_module_of_loader() implements the proposed format.
Testing: hs-tier(1-2), jdk-tier(1-2) complete
hs-tier(3-5) in progress
JCK vm, lang in progress
Thanks,
Lois
More information about the hotspot-dev
mailing list