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

Peter Lee commented on COMPRESS-589:
------------------------------------

Hi [~chenNotFound]

_On Android devices, if the tar package size is greater than 2G, 
inputStream.available() in the skipRecordPadding() method will return 0_
_On Windows, it will return 2147483647 (Integer.MAX_VALUE)_

 

I think this might be a cause of your problem. And I think it's not hard to 
test if it's or not : just change the inputStream(maybe it's a 
FileInputStream?) you passed to TarArchiveInputStream to another input 
stream(maybe a ByteArrayInputStream or something else) to bypass the difference 
of available().

> 1.21 throws a 'java.io.IOException: Truncated TAR archive' exception while 
> 1.20 not
> -----------------------------------------------------------------------------------
>
>                 Key: COMPRESS-589
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-589
>             Project: Commons Compress
>          Issue Type: Bug
>    Affects Versions: 1.21
>            Reporter: chen
>            Priority: Major
>
> the bug happens when I use the TarArchiveInputStream to read bytes from the 
> current tar archive entry.
> first of all, we ran into this issue on an *{color:#ff0000}Android 
> device{color}*
> the trace shows as below
> {code:java}
> 08-27 14:39:18.657 10633 10963 W System.err: java.io.IOException: Truncated 
> TAR archive
> 08-27 14:39:18.657 10633 10963 W System.err: java.io.IOException: Truncated 
> TAR archive
> 08-27 14:39:18.657 10633 10963 W System.err: at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getActuallySkipped(TarArchiveInputStream.java:478)
> 08-27 14:39:18.657 10633 10963 W System.err: at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.skipRecordPadding(TarArchiveInputStream.java:455)
> 08-27 14:39:18.657 10633 10963 W System.err: at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:367)
> {code}
> but when i downgrade to 1.20, the exception will not show again, so I think 
> it is a bug in the new version 
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to