[
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