[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
Mon Jan 29 04:45:52 UTC 2018


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