[jdk16] RFR: 8259027: NullPointerException in makeMappedSegment due to NULL Unmapper when length of segment is 0

Maurizio Cimadamore mcimadamore at openjdk.java.net
Tue Jan 5 15:37:00 UTC 2021

On Tue, 5 Jan 2021 14:00:44 GMT, Chris Hegarty <chegar at openjdk.org> wrote:

>> When the size of the memory map is zero, FileChannelImpl returns a `null` Unmapper - this creates issues to the mapped memory segment implementation.
>> To fix, I've created an empty mapped segment class which is initialized to sensible defaults, and whose implenentation of force/load etc. do nothing.
>> We already had a test for this condition - but the test was missing the `@Test` annotation, so it was not run! I've now beefed up the test a bit to make sure that mapped segment operations do not throw.
> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MappedMemorySegmentImpl.java line 128:
>> 126:                         modes, scope);
>> 127:             } else {
>> 128:                 return new EmptyMappedMemorySegmentImpl();
> While a little pedantic, should the `mapMode` be considered so that an empty mapped segment will feature the expected access modes when queried through the `accessModes` API ?

Ugh - yes, good point


PR: https://git.openjdk.java.net/jdk16/pull/83

More information about the core-libs-dev mailing list