You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stefan Bodewig (JIRA)" <ji...@apache.org> on 2018/05/07 04:23:00 UTC

[jira] [Commented] (COMPRESS-452) "Stream is not in the BZip2 format" exception on valid archive

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

Stefan Bodewig commented on COMPRESS-452:
-----------------------------------------

Many thanks for the test case. Encryption is probably one of the less frequently used features so I'm not surprised if there are bugs to be found. Is the archive something we could add to our test suite once the bug is fixed?

BTW, I've removed the "fixed version", as the issue still exists in 1.16.1.

> "Stream is not in the BZip2 format" exception on valid archive
> --------------------------------------------------------------
>
>                 Key: COMPRESS-452
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-452
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers, Compressors
>    Affects Versions: 1.16.1
>            Reporter: Tomisław Kityński
>            Priority: Major
>         Attachments: txt.7z
>
>
> The included 7z archive (with only one file), that is password protected, can be properly decompressed with 7z tool. Yet, getNextEntry() throws "Stream is not in the BZip2 format" exception.
> The code is:
> {{private static final byte[] PASSWORD = "iBlm8NTigvru0Jr0".getBytes();
> public static void main(String[] args) throws IOException {
>  String fileName = "r:/txt.7z";
>      SevenZArchiveEntry entry;
>      try (SevenZFile arch = new SevenZFile(new File(fileName), PASSWORD)) {
>  while ((entry = arch.getNextEntry()) != null) 
> {             System.out.println(entry.getName()); }
> }
>  }}}
> The same exception is thrown when one uses SevenZFile(SeekableByteChannel, byte[]) constructor. Password seems to be OK, since changing it yields different exception (and it also works in 7z tool).
> Full exception is:
> Exception in thread "main" java.io.IOException: Stream is not in the BZip2 format
>   at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.init(BZip2CompressorInputStream.java:252)
>   at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:134)
>   at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:112)
>   at org.apache.commons.compress.archivers.sevenz.Coders$BZIP2Decoder.decode(Coders.java:254)
>   at org.apache.commons.compress.archivers.sevenz.Coders.addDecoder(Coders.java:79)
>   at org.apache.commons.compress.archivers.sevenz.SevenZFile.buildDecoderStack(SevenZFile.java:933)
>   at org.apache.commons.compress.archivers.sevenz.SevenZFile.buildDecodingStream(SevenZFile.java:909)
>   at org.apache.commons.compress.archivers.sevenz.SevenZFile.getNextEntry(SevenZFile.java:222)
>   at UnpackTest.main(UnpackTest.java:17)
>  PS Sorry for the bad formatting, but I it seems like this editor must be much smarter than me and it knows better.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)