JOGL v2.1.4 At jogamp.opengl.GLBufferObjectTracker.mapBuffer(GLBufferObjectTracker.java:301) public synchronized final GLBufferStorage mapBuffer(final GLBufferStateTracker bufferStateTracker, final GL caller, final int target, final long offset, final long length, final int access, final MapBufferRangeDispatch dispatch, final long glProcAddress) throws GLException { return this.mapBufferImpl(bufferStateTracker, caller, target, true /* useRange */, length, access, access, dispatch, glProcAddress); } The parameters in the call to this.mapBufferImpl() ..., length, access, access, ... should be ..., offset, length, access, ... This causes GL.glMapBufferRange() to fail.
Thank you PJDM! 72d44215a266ccb569efbd5af3142385c4442fe9 GLBufferObjectTracker.mapBuffer(..) variant for mapBufferRange(..) and mapNamedBufferRange(..) used wrong parameters in it's mapBufferImpl(..) call. Fixed and added mapBufferRange(..) test in TestMapBufferRead01NEWT
Annotation: Quite a sloppy typo / copy-paste bug ..