[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