commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Bodewig (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COMPRESS-181) Tar files created by AIX native tar, and which contain symlinks, cannot be read by TarArchiveInputStream
Date Tue, 28 Feb 2012 14:09:46 GMT

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

Stefan Bodewig commented on COMPRESS-181:
-----------------------------------------

It doesn't look like an overflow was the reason but if you look at the timestamp it certainly
reads as if the first byte was a binary 0 by accident (if you put an ASCII 1 in there it is
identical to the timestamp of the directory).

In any case the resulting timestamp is not what it used to be, so using any other timestamp
would be as valid as trying to parse the rest.
                
> Tar files created by AIX native tar, and which contain symlinks, cannot be read by TarArchiveInputStream
> --------------------------------------------------------------------------------------------------------
>
>                 Key: COMPRESS-181
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-181
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.2, 1.3, 1.4
>         Environment: AIX 5.3
>            Reporter: Robert Clark
>         Attachments: simple-aix-native-tar.tar
>
>
> A simple tar file created on AIX using the native ({{/usr/bin/tar}} tar utility) *and*
which contains a symbolic link, cannot be loaded by TarArchiveInputStream:
> {noformat}
> java.io.IOException: Error detected parsing the header
> 	at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:201)
> 	at Extractor.extract(Extractor.java:13)
> 	at Extractor.main(Extractor.java:28)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
> 	at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
> 	at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)
> 	at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)
> 	at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
> 	at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
> 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> 	at org.apache.tools.ant.Task.perform(Task.java:348)
> 	at org.apache.tools.ant.Target.execute(Target.java:390)
> 	at org.apache.tools.ant.Target.performTasks(Target.java:411)
> 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
> 	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
> 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
> 	at org.apache.tools.ant.Main.runBuild(Main.java:809)
> 	at org.apache.tools.ant.Main.startAnt(Main.java:217)
> 	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
> 	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
> Caused by: java.lang.IllegalArgumentException: Invalid byte 0 at offset 0 in '{NUL}1722000726
' len=12
> 	at org.apache.commons.compress.archivers.tar.TarUtils.parseOctal(TarUtils.java:99)
> 	at org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:819)
> 	at org.apache.commons.compress.archivers.tar.TarArchiveEntry.<init>(TarArchiveEntry.java:314)
> 	at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:199)
> 	... 29 more
> {noformat}
> Tested with 1.2 and the 1.4 nightly build from Feb 23 ({{Implementation-Build: trunk@r1292625;
2012-02-23 03:20:30+0000}})

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