harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Regis Xu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6644) [classlib][archive] ZipFile(File) does not close the stream if ZipException occurs
Date Tue, 14 Sep 2010 09:31:33 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909164#action_12909164
] 

Regis Xu commented on HARMONY-6644:
-----------------------------------

You test whether the zip file is closed by trying to delete the file, this is not always validate.
On Linux, you can delete file even another process has opened it.

> [classlib][archive] ZipFile(File) does not close the stream if ZipException occurs
> ----------------------------------------------------------------------------------
>
>                 Key: HARMONY-6644
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6644
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>    Affects Versions: 5.0M14
>         Environment: Windows XP
>            Reporter: Xiao Shu
>         Attachments: JIRA-6644-v2.diff, JIRA-6644.diff
>
>
> run below test case, the observed output is "false" while the expected output is "true".
> The cause is if ZipException occurs, the mRaf field is not closed.
> Thus file stream and system resources associated with the stream are not released.
> Thus failed to delete the file on Windows platform.
> import java.io.File;
> import java.io.IOException;
> import java.util.zip.*;
> import tests.support.Support_PlatformFile;
> public class ZipFileBug {
>     public static void main (String [] args) throws IOException {
>         ZipFile zip;
>         String emptyFileName = System.getProperty("user.dir");        
>         if (emptyFileName.charAt(emptyFileName.length() - 1) == File.separatorChar) {
>             emptyFileName = Support_PlatformFile.getNewPlatformFile(
>                     emptyFileName, "empty.zip");
>         } else {
>             emptyFileName = Support_PlatformFile.getNewPlatformFile(
>                     emptyFileName + File.separatorChar, "empty.zip");
>         }        
>         File emptyFile = new File(emptyFileName);
>         emptyFile.createNewFile();
>         try {
>             zip = new ZipFile(emptyFile, ZipFile.OPEN_READ);            
>         } catch (ZipException ze) {            
>         }
>         System.out.println(emptyFile.delete());        
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message