[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