JDK-8257041 : [aix] os::release_memory may not release the full range
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 8,11,16
  • Priority: P5
  • Status: Resolved
  • Resolution: Won't Fix
  • OS: aix
  • Submitted: 2020-11-25
  • Updated: 2021-06-30
  • Resolved: 2021-06-30
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
JDK-8255978 fixed a bug on Windows where it was not possible to release an address range consisting of multiple mappings, and added a regression gtest (os release_multi_mappings).

Ironically, that test now fails on AIX, where we use SystemV shared memory which has the same semantics as the Windows virtual memory API. See also JDK-8257040.

(Note that we may have a similar problem on Linux where we use System V shm for large pages with +UseSHM - but there, this type of memory is restricted to os::reserve_memory_special, and therefore the os.release_one_mapping_multi_commits_vm gtest does not fail, since it only tests the interplay of os::release_memory() with the standard os::reserve_memory()).


Comments
No time to fix this. Maybe IBM wants to step in.
30-06-2021

Sorry, I split the macos_aarch64 failure from this bug into its own separate one. https://bugs.openjdk.java.net/browse/JDK-8262952 and reverted this one to the way it was.
03-03-2021

Hi Gerard, could you investigate on MacOs a bit further? On Mac, we use only mmap, which should not have the problem I describe above.
03-03-2021

Need to raise the priority.
02-03-2021

This seems to happen in the new macosx-aarch64 port as well - https://github.com/openjdk/jdk/pull/2200 open/test/hotspot/gtest/runtime/test_os.cpp:376: Failure Value of: os::commit_memory((char*)q, stripe_len, executable) Actual: false Expected: true
02-03-2021