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

Bear R Giles commented on COMPRESS-513:
---------------------------------------

Here's the stack trace. Some of the line numbers may be off since I added some 
debugging statements.
{noformat}
./snap/chromium/1005/.config/chromium/Default/Storage/ext/jajcoljhdglkjpfefjkgiohbhnkkmipm/def/GPUCache/data_1,
 message: At offset 0, 12 byte binary number exceeds maximum signed long value
java.lang.IllegalArgumentException: At offset 0, 12 byte binary number exceeds 
maximum signed long value
        at 
org.apache.commons.compress.archivers.tar.TarUtils.parseBinaryBigInteger(TarUtils.java:231)
        at 
org.apache.commons.compress.archivers.tar.TarUtils.parseOctalOrBinary(TarUtils.java:179)
        at 
org.apache.commons.compress.archivers.tar.TarUtils.parseSparse(TarUtils.java:330)
        at 
org.apache.commons.compress.archivers.tar.TarArchiveSparseEntry.<init>(TarArchiveSparseEntry.java:63)
        at 
org.apache.commons.compress.archivers.tar.TarArchiveInputStream.readOldGNUSparse(TarArchiveInputStream.java:809)
        at 
org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:417)
        at com.coyotesong.fstat.ScanApp.scanTarball(ScanApp.java:257)
        at com.coyotesong.fstat.ScanApp.dumpTarball(ScanApp.java:475)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:502)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:497)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:497)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:497)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:497)
        at com.coyotesong.fstat.ScanApp.walkBackups(ScanApp.java:497)
        at com.coyotesong.fstat.ScanApp.main(ScanApp.java:519)
{noformat}

> [Tar] error decoding sparse file header
> ---------------------------------------
>
>                 Key: COMPRESS-513
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-513
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.20
>         Environment: # Ubuntu 19.10.
>  # 
>  # Gnu tar 1.30
>            Reporter: Bear R Giles
>            Priority: Major
>
> I am seeing an IllegalArgumentException when attempting to scan a (gnu) tar 
> file containing a backup of my home directory. -The entry is a sqlite 
> database table used by chromium.-
> The archive file is 62 GB and over 1 million files. ( ! ) (Can you tell I'm a 
> developer?)
> The error is:
> {noformat}
> java.lang.IllegalArgumentException: At offset 0, 12 byte binary number 
> exceeds maximum signed long value
> java.lang.IllegalArgumentException: At offset 0, 12 byte binary number 
> exceeds maximum signed long value
>    at 
> org.apache.commons.compress.archivers.tar.TarUtils.parseBinaryBigInteger(TarUtils.java:231){noformat}
> From instrumenting the code I can determine that the TarArchiveEntry reports:
>  * name: 
> ./snap/chromium/1005/.config/chromium/Default/Storage/ext/jajcoljhdglkjpfefjkgiohbhnkkmipm/def/GPUCache/data_3
>  * mode: 0600
>  * size: 53248
>  * real: 4202496
> The (presumed) sparse headers are:
> {noformat}
> c3 ca 04 c1 00 00 02 00 03 00 00 00  |
> 00 10 00 00 04 00 00 00 00 04 00 00  |
> 03 00 00 00 01 00 00 00 00 00 00 00  |
> fc 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 73 77 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00  |
> 00 00 00 00 00 00 00 00 00 00 00 00 
> {noformat}
> And for this specific entry 
>  * buffer: c3 ca 04 c1 00 00 02 00 03 00 00 00
>  * remainder: ca 04 c1 00 00 02 00 03 00 00 00
>  * neg: false
>  * value: -65259544571650071836229632
> I'll add the full header in a comment later today. It looks likely that the 
> header format isn't properly recognized.



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

Reply via email to