RFR: JDK-8256864: [windows] Improve tracing for mapping errors [v6]

Richard Reingruber rrich at openjdk.java.net
Wed Dec 2 14:08:02 UTC 2020


On Wed, 2 Dec 2020 13:50:11 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> To analyze JDK-8256729 further, we need more tracing:
>> 
>> 1) We should print all mappings inside the split area if os::split_reserved_memory() fails
>> 
>> 2) The print-mapping code on windows has some shortcomings:
>> - should not probe for mappings outside of what we know are valid address ranges for Windows
>> - should handle wrap-arounds - it should be possible to print the whole address space
>> - Protection information is printed wrong (MEMORY_BASIC_INFORMATION.Protect would be the correct member)
>> - should be printed in a more compact manner - base address should be on the same line as the first region
>> - maybe adorned with some basic range info, e.g. library mappings
>> 
>> Tested in our nightlies for a week now, works fine.
>> 
>> Example output see https://github.com/openjdk/jdk/files/5622718/mapping-printout.txt
>
> Thomas Stuefe has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Feedback Richard

LGTM, thanks :)

src/hotspot/os/windows/os_windows.cpp line 6073:

> 6071:     if (first_line) {
> 6072:       char buf[MAX_PATH];
> 6073:       if (os::dll_address_to_library_name(allocation_base, buf, sizeof(buf), NULL)) {

You forgot one NULL

-------------

Marked as reviewed by rrich (Committer).

PR: https://git.openjdk.java.net/jdk/pull/1390


More information about the hotspot-dev mailing list