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

Sebb commented on COMPRESS-177:
-------------------------------

The tar file appears to be corrupt.

The file contains the following:

00000060:00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31    ....0000755.0001
00000070:30 34 30 00 80 00 00 00 ff ff ff ff 30 30 30 30    040.€...ÿÿÿÿ0000
00000080:30 30 30 36 35 34 33 00 31 31 36 35 37 34 37 34    0006543.11657474
00000090:32 36 35 00 30 32 31 32 30 36 00 20 30 00 00       265.021206. 0.. 

Note the strange entry starting at offset 74 - this should be the groupId.

There seem to be quite a few other entries with the same problem.

The header entries are supposed to use ASCII for portability.
                
> TarArchiveInputStream throws IllegalArgumentException on valid TAR file
> -----------------------------------------------------------------------
>
>                 Key: COMPRESS-177
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-177
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.3
>            Reporter: Gili
>
> Issue originally reported at http://java.net/jira/browse/TRUEZIP-219
> # Download 
> http://sourceforge.net/projects/boost/files/boost/1.48.0/boost_1_48_0.tar.gz?use_mirror=autoselect
> # I invoke Files.newDirectoryStream() on a TPath pointing to the resulting 
> .tar.gz file
> # The following exception is thrown:
> {code}
> java.lang.IllegalArgumentException: Invalid byte -1 at offset 7 in '<some 
> bytes>' len=8
>       at 
> org.apache.commons.compress.archivers.tar.TarUtils.parseOctal(TarUtils.java:86)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:790)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.<init>(TarArchiveEntry.java:308)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:198)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextEntry(TarArchiveInputStream.java:380)
>       at 
> de.schlichtherle.truezip.fs.archive.tar.TarInputShop.<init>(TarInputShop.java:91)
>       at 
> de.schlichtherle.truezip.fs.archive.tar.TarDriver.newTarInputShop(TarDriver.java:159)
>       at 
> de.schlichtherle.truezip.fs.archive.tar.TarGZipDriver.newTarInputShop(TarGZipDriver.java:82)
>       at 
> de.schlichtherle.truezip.fs.archive.tar.TarDriver.newInputShop(TarDriver.java:151)
>       at 
> de.schlichtherle.truezip.fs.archive.tar.TarDriver.newInputShop(TarDriver.java:47)
>       at 
> de.schlichtherle.truezip.fs.archive.FsDefaultArchiveController.mount(FsDefaultArchiveController.java:170)
>       at 
> de.schlichtherle.truezip.fs.archive.FsFileSystemArchiveController$ResetFileSystem.autoMount(FsFileSystemArchiveController.java:98)
>       at 
> de.schlichtherle.truezip.fs.archive.FsFileSystemArchiveController.autoMount(FsFileSystemArchiveController.java:47)
>       at 
> de.schlichtherle.truezip.fs.archive.FsArchiveController.autoMount(FsArchiveController.java:129)
>       at 
> de.schlichtherle.truezip.fs.archive.FsArchiveController.getEntry(FsArchiveController.java:160)
>       at 
> de.schlichtherle.truezip.fs.archive.FsContextController.getEntry(FsContextController.java:117)
>       at 
> de.schlichtherle.truezip.fs.FsDecoratingController.getEntry(FsDecoratingController.java:76)
>       at 
> de.schlichtherle.truezip.fs.FsDecoratingController.getEntry(FsDecoratingController.java:76)
>       at 
> de.schlichtherle.truezip.fs.FsConcurrentController.getEntry(FsConcurrentController.java:164)
>       at 
> de.schlichtherle.truezip.fs.FsSyncController.getEntry(FsSyncController.java:108)
>       at 
> de.schlichtherle.truezip.fs.FsFederatingController.getEntry(FsFederatingController.java:156)
>       at 
> de.schlichtherle.truezip.nio.file.TFileSystem.newDirectoryStream(TFileSystem.java:348)
>       at 
> de.schlichtherle.truezip.nio.file.TPath.newDirectoryStream(TPath.java:963)
>       at 
> de.schlichtherle.truezip.nio.file.TFileSystemProvider.newDirectoryStream(TFileSystemProvider.java:344)
>       at java.nio.file.Files.newDirectoryStream(Files.java:400)
>       at 
> com.googlecode.boostmavenproject.GetSourcesMojo.convertToJar(GetSourcesMojo.java:248)
>       at 
> com.googlecode.boostmavenproject.GetSourcesMojo.download(GetSourcesMojo.java:221)
>       at 
> com.googlecode.boostmavenproject.GetSourcesMojo.execute(GetSourcesMojo.java:111)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>       ... 20 more
> {code}
> Christian Schlichtherle (the TrueZip author) is expecting the Commons 
> Compress to throw IOException instead of IllegalArgumentException. I am 
> expecting no exception to be thrown because as far as I can tell the TAR file 
> is valid (opens up in WinRar and Ubuntu's built-in Archiver).

--
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


Reply via email to