[jdk16] RFR: 8259027: NullPointerException in makeMappedSegment due to NULL Unmapper when length of segment is 0
Chris Hegarty
chegar at openjdk.java.net
Tue Jan 5 14:03:03 UTC 2021
On Tue, 5 Jan 2021 12:56:49 GMT, Maurizio Cimadamore <mcimadamore 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 ?
-------------
PR: https://git.openjdk.java.net/jdk16/pull/83
More information about the core-libs-dev
mailing list