[8u] RFR for backport of JDK-8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
David Holmes
david.holmes at oracle.com
Tue Mar 6 12:39:26 UTC 2018
Hi Shafi,
This seems like an accurate backport of the error reporting enhancements.
Copyright years need updating to 2018.
Thanks,
David
On 6/03/2018 6:55 PM, Shafi Ahmad wrote:
> 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