[lworld] RFR: 8373825: [lworld] ForwardingFileManager always closes its delegate leading to ClosedFileSystemException in TestOriginatingElements [v5]

David Beaumont duke at openjdk.org
Mon Feb 9 22:01:13 UTC 2026


> Allow users of Toolbox.MemoryFileManager to specify if the delegate file manager should also be closed when it is closed.
> 
> This fixes a use-after-close bug in TestOriginatingElements, where the system file manager and wrapping memory file manager have different, nested, lifetimes resulting in an early call to close the system file manager when the wrapper is closed, causing subsequent legitimate use of the system file manager to fail.
> 
> This wasn't noticed before now since the system file manager was using the singleton JRT file-system in which "close" does nothing. Now it's using a properly scoped instance of the JRT file-system which can be closed.

David Beaumont has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:

 - revert forwarding file manager
 - Remove extraneous problem list entry
 - Reworking to simplify
   
   * Problem list
   * temp commit
   * add @since for new method
   * tidy and restore eagerly removed not-actually-dead code
   * Allow callers to decide if delgate file manager should be closed
 - Merge branch 'lworld' into jdk_8373825_ffm/squashed
 - add @since for new method
 - undo reformatting
 - tidy and restore eagerly removed not-actually-dead code
 - Allow callers to decide if delgate file manager should be closed

-------------

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1810/files
  - new: https://git.openjdk.org/valhalla/pull/1810/files/1b29ac47..0f88da40

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1810&range=04
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1810&range=03-04

  Stats: 160517 lines in 4487 files changed: 76125 ins; 54081 del; 30311 mod
  Patch: https://git.openjdk.org/valhalla/pull/1810.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1810/head:pull/1810

PR: https://git.openjdk.org/valhalla/pull/1810


More information about the valhalla-dev mailing list