On Wed, 17 Dec 2025 09:52:45 GMT, David Beaumont <[email protected]> wrote:
>> Allow users of ForwardingFileManager to specify if the delegate file manager
>> should also be 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.
>>
>> This fix could also probable go straight into mainline as a clone since it
>> won't break anything there.
>
> David Beaumont has updated the pull request incrementally with one additional
> commit since the last revision:
>
> undo reformatting
test/langtools/tools/lib/toolbox/ToolBox.java line 868:
> 866: * @param fileManager the file manager to be used for input files
> 867: */
> 868: public MemoryFileManager(JavaFileManager fileManager) {
Only called in 2 places, so migrating callers with an extra parameter is easy.
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1810#discussion_r2626415770