[jdk16] RFR: 8259032: MappedMemorySegmentImpl#makeMappedSegment() ignores Unmapper#pagePosition
alanb at openjdk.java.net
Tue Jan 5 15:47:57 UTC 2021
On Tue, 5 Jan 2021 15:33:54 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> this patch fixes an oversight where the address() method in FileChannelImpl.Unmapper does not take into account the value of `pagePosition` - this leads to a situation in which, effectively, the specified offset when mapping the segment is ignored by the runtime (because base address will always be aligned to some known quantity - which is OS/platform dependent).
> To test this I had to break open into FileChannelImpl and ready the granularity.
test/jdk/java/foreign/TestByteBuffer.java line 28:
> 26: * @modules java.base/sun.nio.ch
> 27: * jdk.incubator.foreign/jdk.internal.foreign
> 28: * @run testng/othervm --illegal-access=permit -Dforeign.restricted=permit TestByteBuffer
Can you change java.base/sun.nio.ch to java.base/sun.nio.ch:+open instead? That would avoid the --illegal-access=permit.
More information about the core-libs-dev