RFR: 8299748: java/util/zip/Deinflate.java failing on s390x
Alan Bateman
alanb at openjdk.org
Wed Feb 1 07:52:48 UTC 2023
On Tue, 31 Jan 2023 09:00:18 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> Hi @jaikiran ,
>> On my system OS's zlib is being used. and here is stack-trace.
>>
>> ----------System.out:(2/78)----------
>> level:-1, strategy: 0, dowrap: false
>> m=525312, n=498060, len=524288, eq=false
>> ----------System.err:(11/585)----------
>> java.lang.RuntimeException: De/inflater failed:java.util.zip.Deflater at 5ce95579
>> at DeInflate.check(DeInflate.java:141)
>> at DeInflate.main(DeInflate.java:290)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:578)
>> at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
>> at java.base/java.lang.Thread.run(Thread.java:1623)
>>
>> JavaTest Message: Test threw exception: java.lang.RuntimeException
>> JavaTest Message: shutting down test
>>
>> result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: De/inflater failed:java.util.zip.Deflater at 5ce95579
>>
>> test result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: De/inflater failed:java.util.zip.Deflater at 5ce95579
>
>> m=525312, n=498060, len=524288, eq=false
>
> The test doesn't print this so I assume this is tracing that you added in your runs. If I read it correctly, the initial input is len=524288, it deflates to m=525312, then re-inflates to n=498060. So it looks like it has been truncated. Would it be possible to print out the value of inf.getRemaining()? I'm wondering if the test needs to be changed to call inflate in a loop until there are no remaining bytes.
> Hi @AlanBateman , I haven't done any modification in the test/build. The info is being printed by the test itself. `m, n, len, eq` are printed just before the exception raised.
>
> I tried to use `inf.getRemaining()` (after restoring back to original file) and In my case it returns `0`, and then test fails. Changes I test with:
Ah okay, so this suggests it's the deflate that is not compressing all the input. Would you mind just printing out the value of def.finished() after the deflate?
-------------
PR: https://git.openjdk.org/jdk/pull/12283
More information about the core-libs-dev
mailing list