By using read instead of readAll decompression reader could get bytes then available in the stream and then later wrongly failed with end of stream.