Hi,
   For JDK-8132359 it now addresses the issue:

Amend JarURLConnection::getJarFile() to return JarFile object reference for 
nonexistent JAR file entry URL

The scenario addressed is that a JarURLConnection is constructed encapsulating 
a reference to an non existent entry in an extant JarFile, then the  getJarFile 
 is reasonably expected to return a reference to the associated JarFile, rather 
than propagating the IOException thrown by the implicit 
JarURLConnection::connect invocation  in getJarFile.

The original test case demonstrates other cross platform issues in this 
context. But by returning the JarFile reference, ( rather than propagating the 
exception,)  it is then possible to invoke close on the JarFile, and allow the 
explicit delete of the JarFile. Thus, mitigating a perceived problem on Windows.

As such, this is an issue in its own right, and as such it would appear that 
there is merit in this fix.

regards
Mark



________________________________
From: net-dev <net-dev-boun...@openjdk.java.net> on behalf of Alex Kashchenko 
<akash...@redhat.com>
Sent: Wednesday 10 June 2020 14:52
To: OpenJDK Network Dev list <net-dev@openjdk.java.net>
Subject: Re: RFC: 8132359: JarURLConnection.getJarFile() resource leak when 
file is not found

Hi,

On 05/12/2020 12:20 AM, Alex Kashchenko wrote:
> CSR: https://bugs.openjdk.java.net/browse/JDK-8244650

A question about this CSR: after this new issue was found in the same area:

JDK-8246714: URLClassLoader/JAR protocol handler poisons the global
JarFile cache under concurrent load

would it be appropriate to postpone the activity on the CSR (and
possibly eventually cancel it)?

It looks like both possible solutions to 8244650:

  - short term: disable caching for JAR protocol

  - long term: rework JAR protocol handler

make this CSR redundant.

I am happy to work on some minor bugfixes in this area if necessary.

>
> [...]
>
--
-Alex

Reply via email to