commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Kodis (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COMPRESS-16) unable to extract a TAR file that contains an entry which is 10 GB in size
Date Sun, 27 Nov 2011 15:30:40 GMT

    [ https://issues.apache.org/jira/browse/COMPRESS-16?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157915#comment-13157915
] 

John Kodis commented on COMPRESS-16:
------------------------------------

I've attached two patch files against commons-compress-1.3-src which add support for reading
(patch 0001) and writing (patch 0002) tar archives which contain files larger than the 8GB
limit imposed by the use of a 12 character octal size field in the tar header.

I've followed the approach taken by the GNU tar utility: for files larger than the 8GB limit,
continue to use the same size field, but switch to a binary size representation, noting this
change by detecting (on read) or setting (on write) the most significant bit of the first
byte of the size field.

Tar archives written in this format are correctly processed by at least GNU tar (used primarily
on Linux), BSD tar (used on Mac OS-X as well as the BSDs), and 7-Zip (used primarily on Windows).
                
> unable to extract a TAR file that contains an entry which is 10 GB in size
> --------------------------------------------------------------------------
>
>                 Key: COMPRESS-16
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-16
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>         Environment: I am using win xp sp3, but this should be platform independent.
>            Reporter: Sam Smith
>         Attachments: 0001-Accept-GNU-tar-files-with-entries-over-8GB-in-size.patch, 0002-Allow-creating-tar-archives-with-files-over-8GB.patch,
ant-8GB-tar.patch, patch-for-compress.txt
>
>
> I made a TAR file which contains a file entry where the file is 10 GB in size.
> When I attempt to extract the file using TarInputStream, it fails with the following
stack trace:
> 	java.io.IOException: unexpected EOF with 24064 bytes unread
> 		at org.apache.commons.compress.archivers.tar.TarInputStream.read(TarInputStream.java:348)
> 		at org.apache.commons.compress.archivers.tar.TarInputStream.copyEntryContents(TarInputStream.java:388)
> So, TarInputStream does not seem to support large (> 8 GB?) files.
> Here is something else to note: I created that TAR file using TarOutputStream , which
did not complain when asked to write a 10 GB file into the TAR file, so I assume that TarOutputStream
has no file size limits?  That, or does it silently create corrupted TAR files (which would
be the worst situation of all...)?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message