[ 
https://issues.apache.org/jira/browse/COMPRESS-181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Clark updated COMPRESS-181:
----------------------------------

    Description: 
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}})

  was:
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}})

I don't have a place to post the example tar file, but I can send it to anyone 
who wants it (size is 10240 bytes)

    
> 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