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

Sebb commented on COMPRESS-181:
-------------------------------

I agree - it looks like the first byte was set to null accidentally, or 
possibly the intention was to invalidate the stamp.

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

Sorry, I don't follow.

I'm suggesting that using the corrupted timestamp is worse than ignoring it by 
treating it as all nulls.
                
> 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

        

Reply via email to