[8u] RFR for backport of JDK-8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
Shafi Ahmad
shafi.s.ahmad at oracle.com
Tue Mar 6 08:55:56 UTC 2018
Hi All,
Could someone please review it.
Regards,
Shafi
> -----Original Message-----
> From: Shafi Ahmad
> Sent: Tuesday, February 06, 2018 11:27 AM
> To: hotspot-dev at openjdk.java.net
> Cc: Stephen Fitch <stephen.fitch at oracle.com>
> Subject: RE: [8u] RFR for backport of JDK-8026331: hs_err improvement: Print
> if we have seen any OutOfMemoryErrors or StackOverflowErrors
>
> Hi,
>
> Could someone please review it.
>
> Regards,
> Shafi
>
> > -----Original Message-----
> > From: Shafi Ahmad
> > Sent: Monday, January 29, 2018 10:16 AM
> > To: hotspot-dev at openjdk.java.net
> > Subject: RE: [8u] RFR for backport of JDK-8026331: hs_err improvement:
> > Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
> >
> > 2nd try...
> >
> > Regards,
> > Shafi
> >
> > > -----Original Message-----
> > > From: Shafi Ahmad
> > > Sent: Wednesday, January 24, 2018 3:16 PM
> > > To: hotspot-dev at openjdk.java.net
> > > Subject: [8u] RFR for backport of JDK-8026331: hs_err improvement:
> > > Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
> > >
> > > Hi,
> > >
> > > Please review the backport of bug: " JDK-8026331: hs_err improvement:
> > > Print if we have seen any OutOfMemoryErrors or StackOverflowErrors"
> > > to
> > > jdk8u- dev.
> > >
> > > Please note that this is not a clean backport as I got below
> > > conflicts
> > > -
> > >
> > > hotspot$ find ./ -name "*.rej" -exec cat {} \;
> > > --- metaspace.cpp
> > > +++ metaspace.cpp
> > > @@ -3132,10 +3132,21 @@
> > > initialize_class_space(metaspace_rs);
> > >
> > > if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) {
> > > - gclog_or_tty->print_cr("Narrow klass base: " PTR_FORMAT ", Narrow
> > > klass shift: %d",
> > > - p2i(Universe::narrow_klass_base()),
> > > Universe::narrow_klass_shift());
> > > - gclog_or_tty->print_cr("Compressed class space size: " SIZE_FORMAT
> "
> > > Address: " PTR_FORMAT " Req Addr: " PTR_FORMAT,
> > > - compressed_class_space_size(),
> p2i(metaspace_rs.base()),
> > > p2i(requested_addr));
> > > + print_compressed_class_space(gclog_or_tty, requested_addr);
> > > + }
> > > +}
> > > +
> > > +void Metaspace::print_compressed_class_space(outputStream* st,
> > > +const
> > > char* requested_addr) {
> > > + st->print_cr("Narrow klass base: " PTR_FORMAT ", Narrow klass shift:
> > %d",
> > > + p2i(Universe::narrow_klass_base()),
> > > Universe::narrow_klass_shift());
> > > + if (_class_space_list != NULL) {
> > > + address base =
> > > + (address)_class_space_list->current_virtual_space()-
> > > >bottom();
> > > + st->print("Compressed class space size: " SIZE_FORMAT " Address: "
> > > PTR_FORMAT,
> > > + compressed_class_space_size(), p2i(base));
> > > + if (requested_addr != 0) {
> > > + st->print(" Req Addr: " PTR_FORMAT, p2i(requested_addr));
> > > + }
> > > + st->cr();
> > > }
> > > }
> > >
> > > --- universe.cpp
> > > +++ universe.cpp
> > > @@ -781,27 +781,24 @@
> > > return JNI_OK;
> > > }
> > >
> > > -void Universe::print_compressed_oops_mode() {
> > > - tty->cr();
> > > - tty->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT "
> > > MB",
> > > +void Universe::print_compressed_oops_mode(outputStream* st) {
> > > + st->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT "
> > > +MB",
> > > p2i(Universe::heap()->base()), Universe::heap()-
> > > >reserved_region().byte_size()/M);
> > >
> > > - tty->print(", Compressed Oops mode: %s",
> > > narrow_oop_mode_to_string(narrow_oop_mode()));
> > > + st->print(", Compressed Oops mode: %s",
> > > narrow_oop_mode_to_string(narrow_oop_mode()));
> > >
> > > if (Universe::narrow_oop_base() != 0) {
> > > - tty->print(": " PTR_FORMAT, p2i(Universe::narrow_oop_base()));
> > > + st->print(": " PTR_FORMAT, p2i(Universe::narrow_oop_base()));
> > > }
> > >
> > > if (Universe::narrow_oop_shift() != 0) {
> > > - tty->print(", Oop shift amount: %d", Universe::narrow_oop_shift());
> > > + st->print(", Oop shift amount: %d",
> > > + Universe::narrow_oop_shift());
> > > }
> > >
> > > if (!Universe::narrow_oop_use_implicit_null_checks()) {
> > > - tty->print(", no protected page in front of the heap");
> > > + st->print(", no protected page in front of the heap");
> > > }
> > > -
> > > - tty->cr();
> > > - tty->cr();
> > > + st->cr();
> > > }
> > >
> > > Webrev: http://cr.openjdk.java.net/~shshahma/8026331/webrev.00/
> > > Jdk9 bug: https://bugs.openjdk.java.net/browse/JDK-8026331
> > > Original patch pushed to jdk9:
> > > http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/cf5a0377f578
> > >
> > > Test: Run jprt -testset hotspot and jtreg - hotspot/test
> > >
> > > Regards,
> > > Shafi
More information about the hotspot-dev
mailing list