RFR: 8287430 MemorySessionImpl::addOrCleanupIfFail does not rethrow exceptions
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Fri May 27 10:56:11 UTC 2022
On Fri, 27 May 2022 10:29:14 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> This patch fix a missing rethrow in `MemorySessionImpl::addOrCleanupIfFail`. As noted in the JBS issue, this bug does not affect correctness, but it delays error reporting.
>
> Writing a test for this is nearly impossible, given that (a) a memory resource created against a closed session would be inaccessible by clients (because the session is closed!), and (b) because of the narrow window in which the problem might manifest (for this problem to occur, a session state change would have to occur between the first state check and when the cleanup action list is updated).
src/java.base/share/classes/jdk/internal/foreign/MemorySessionImpl.java line 112:
> 110: // to the list (and, in case of an add vs. close race, it might happen that the cleanup action will be
> 111: // called immediately after).
> 112: resourceList.add(resource);
Note that I've removed the try/catch, as resourceList::add cannot throw the ScopedAccessError singleton (that is only issued in the raw/internal `checkValidState`)
-------------
PR: https://git.openjdk.java.net/jdk/pull/8917
More information about the core-libs-dev
mailing list