Hi Deepak,

Roger is right about  trying to avoid the extra copy.  Sorry I did not point 
that out previously.

WRT using 47 vs ‘/‘,  given that the rest of ZipFileSystem uses ‘/‘, it would 
be best keep  the usage consistent within the class.

Best,
Lance

> On Nov 27, 2018, at 4:51 AM, Deepak Kejriwal <deepak.kejri...@oracle.com> 
> wrote:
> 
> Hi nio-dev team,
> 
> 
> 
> Gentle reminder for review of below fix.
> 
> 
> 
> Regards,
> 
> Deepak 
> 
> 
> 
> From: Deepak Kejriwal <deepak.kejri...@oracle.com> 
> Sent: Thursday, November 8, 2018 12:17 AM
> To: 'nio-...@openjdk.java.net' <nio-...@openjdk.java.net>
> Subject: RFR: JDK-8197398 (zipfs) OutOfMemoryError when talking contents of 
> empty JAR file
> 
> 
> 
> Hi all,
> 
> 
> 
> Please help review the changes for JDK-8199776 to JDK8u:-
> 
> 
> 
> Master Bug: https://bugs.openjdk.java.net/browse/JDK-8199776 
> 
> Webrev: http://cr.openjdk.java.net/~rpatil/8199776/webrev.00/
> 
> 
> 
> 
> 
> Background:-
> 
> The Files.walkFileTree walk indefinitely while processing JAR file with "/" 
> as a directory inside. 
> 
> 
> 
> Proposed fix:
> 
> 
> 
> Files.walkFileTree api for jar internally uses ZipfileSystem. While iterating 
> over the zip entries we have added a check to see if entry name is equal to 
> "/" (absolute path). If the entry name is equal to "/" we don't add it to 
> "inodes" map so that we don't end up with infinite loop.
> 
> 
> 
> We have similar bug HYPERLINK 
> "https://bugs.openjdk.java.net/browse/JDK-8197398"JDK-8197398 fixed in jdk 
> 12. Below is the difference between fix for jdk 12 and jdk 8:-
> 
> The fix for above issue for jdk 12 handle a case where we can update an 
> existing entry in jar with "/" (absolute path).  As in case of jdk 8 we 
> cannot update the existing zipentry as doing so we get 
> "FileAlreadyExistsException". Therefore, fix for jdk 8u does not consider 
> this case.
> 
> 
> 
> Regards,
> 
> Deepak
> 
> 

 <http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif> 
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| 
Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com <mailto:lance.ander...@oracle.com>



Reply via email to