On Mon, 11 Aug 2025 18:08:40 GMT, ExE Boss <d...@openjdk.org> wrote: >> src/java.base/share/classes/jdk/internal/lang/stable/StableValueImpl.java >> line 174: >> >>> 172: // Reduce the counter and if it reaches zero, >>> clear the reference >>> 173: // to the underlying holder. >>> 174: underlyingHolder.countDown(); >> >> Doesn't the code here imply that if the underlying supplier/function etc >> throws an exception, the underlyingHolder won't get counted down, and will >> leak? > > No, because the stable value doesn’t get set in that case, so the > supplier/function will be called again.
@ExE-Boss That seems to presume that 1) it will be called again, and 2) it will eventually produce a non-exception ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25878#discussion_r2269207579