이후에 작성된 데이터에 따라 jzlib 1.0.7에 확실한 ArrayOutOfBoundException을 생성하는 간단한 테스트 케이스가 있고 ZOutputStream의 동일한 인스턴스 이 있습니다.ZOutputStream.write()의 ArrayOutOfBoundException
스택 트레이스는 :
java.lang.ArrayIndexOutOfBoundsException: 587
at com.jcraft.jzlib.Tree.d_code(Tree.java:149)
at com.jcraft.jzlib.Deflate.compress_block(Deflate.java:691)
at com.jcraft.jzlib.Deflate._tr_flush_block(Deflate.java:897)
at com.jcraft.jzlib.Deflate.flush_block_only(Deflate.java:772)
at com.jcraft.jzlib.Deflate.deflate_slow(Deflate.java:1195)
at com.jcraft.jzlib.Deflate.deflate(Deflate.java:1567)
at com.jcraft.jzlib.ZStream.deflate(ZStream.java:133)
at com.jcraft.jzlib.ZOutputStream.write(ZOutputStream.java:102)
at com.jcraft.jzlib.JZLibTestCase.main(JZLibTestCase.java:51)
at JZLibTestCase.main(JZLibTestCase.java:28)
문제는 매우 드물게 발생하고 jzlib에서 열린 ZOutputStream에 기록 된 데이터 subsequentially 에 따라 달라집니다.
이 문제를 해결하는 방법에 대한 힌트가 있습니까? 혹시 이것에 대해 들어 보셨습니까?
예, 압축 할 데이터에 따라 분명히 jzlib의 버그입니까? 이미 JCraft에보고했습니다. –