[ https://issues.apache.org/jira/browse/COMPRESS-16?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157913#comment-13157913 ]
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. > 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