bunzip2 fails to decompress pbzip2-compressed files

Dan Fandrich dan at coneharvesters.com
Fri Oct 22 18:07:31 UTC 2010


pbzip2 is a parallel bzip2 compressor that uses multiple threads while
compressing to linearly speed bzip2 compression by the number of cores
available (see http://compression.ca/pbzip2/). The files it produces
are compatible with traditional bzip2, but have slightly different output
because of the way the independently-compressed blocks are concatenated.

Unfortunately, this seems to prevent Busybox's bunzip2 from decompressing
them fully. Busybox decompresses the first block, then silently stops without
indicating any sort of error.  It can be reproduced like this:

$ cp /lib/libc-2.9.so bigfile   #need a file larger than 900K
$ pbzip2 -9 bigfile
$ bzcat bigfile.bz2 | wc -c
1331404
$ busybox bzcat bigfile.bz2 | wc -c
900000
$ busybox bunzip2 bigfile.bz2
$ echo $?
0
$ stat -c %s bigfile
900000

>>> Dan


More information about the busybox mailing list