openj9 icon indicating copy to clipboard operation
openj9 copied to clipboard

openjdk zip or inflate/deflate failures on RH9 (z15+) or AIX 7.3 (p10)

Open pshipton opened this issue 3 years ago • 61 comments

This is on zlinux.

java version "11.0.15" 2022-04-19
IBM Semeru Runtime Certified Edition 11.0.15.0-rc1 (build 11.0.15+10)
Eclipse OpenJ9 VM 11.0.15.0-rc1 (build openj9-0.32.0-rc1, JRE 11 Linux s390x-64-Bit Compressed References 20220419_282 (JIT enabled, AOT enabled)
OpenJ9   - 9a84ec34e
OMR      - ab24b6666
JCL      - da9a227f69 based on jdk-11.0.15+10)

/view/Test_grinder/job/Grinder/22939

jdk_lang_0 java/lang/ClassLoader/securityManager/ClassLoaderTest.java

20:42:07  java.util.zip.ZipException: invalid entry compressed size (expected 487 but got 486 bytes)
20:42:07  	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
20:42:07  	at java.base/java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:193)
20:42:07  	at java.base/java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
20:42:07  	at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:169)
20:42:07  	at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:184)
20:42:07  	at ClassLoaderTest.updateModuleDescr(ClassLoaderTest.java:295)
20:42:07  	at ClassLoaderTest.setUp(ClassLoaderTest.java:274)
20:42:07  	at ClassLoaderTest.main(ClassLoaderTest.java:161)
20:42:07  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
20:42:07  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
20:42:07  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
20:42:07  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
20:42:07  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
20:42:07  	at java.base/java.lang.Thread.run(Thread.java:871)
20:42:07  	Suppressed: java.util.zip.ZipException: invalid entry compressed size (expected 487 but got 486 bytes)
20:42:07  		at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
20:42:07  		at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:361)
20:42:07  		at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:238)
20:42:07  		at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:378)
20:42:07  		at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:152)
20:42:07  		... 10 more

jdk_lang_1 java/lang/ClassLoader/securityManager/ClassLoaderTest.java

20:56:44  java.util.zip.ZipException: invalid entry compressed size (expected 179 but got 177 bytes)
20:56:44  	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
20:56:44  	at java.base/java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:193)
20:56:44  	at java.base/java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
20:56:44  	at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:169)
20:56:44  	at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:184)
20:56:44  	at ClassLoaderTest.updateModuleDescr(ClassLoaderTest.java:295)
20:56:44  	at ClassLoaderTest.setUp(ClassLoaderTest.java:270)
20:56:44  	at ClassLoaderTest.main(ClassLoaderTest.java:161)
20:56:44  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
20:56:44  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
20:56:44  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
20:56:44  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
20:56:44  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
20:56:44  	at java.base/java.lang.Thread.run(Thread.java:871)
20:56:44  	Suppressed: java.util.zip.ZipException: invalid entry compressed size (expected 179 but got 177 bytes)
20:56:44  		at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
20:56:44  		at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:361)
20:56:44  		at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:238)
20:56:44  		at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:378)
20:56:44  		at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:152)
20:56:44  		... 10 more

jdk_util_0, jdk_util_1 java/util/zip/ZipFile/CopyJar.java

21:24:44  java.util.zip.ZipException: invalid entry compressed size (expected 338 but got 395 bytes)
21:24:44  	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
21:24:44  	at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:361)
21:24:44  	at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:238)
21:24:44  	at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:378)
21:24:44  	at CopyJar.main(CopyJar.java:45)
21:24:44  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:24:44  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:24:44  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:24:44  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:24:44  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:24:44  	at java.base/java.lang.Thread.run(Thread.java:871)

jdk_util_0, jdk_util_1 java/util/zip/DeflateIn_InflateOut.java

21:25:26  java.lang.Throwable
21:25:26  	at java.base/java.lang.Thread.dumpStack(Thread.java:544)
21:25:26  	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
21:25:26  	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
21:25:26  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:177)
21:25:26  	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
21:25:26  	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:25:26  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:25:26  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:25:26  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:25:26  	at java.base/java.lang.Thread.run(Thread.java:871)
21:25:26  java.lang.Throwable
21:25:26  	at java.base/java.lang.Thread.dumpStack(Thread.java:544)
21:25:26  	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
21:25:26  	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
21:25:26  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:195)
21:25:26  	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
21:25:26  	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:25:26  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:25:26  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:25:26  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:25:26  	at java.base/java.lang.Thread.run(Thread.java:871)
21:25:26  java.lang.Throwable
21:25:26  	at java.base/java.lang.Thread.dumpStack(Thread.java:544)
21:25:26  	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
21:25:26  	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
21:25:26  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:205)
21:25:26  	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
21:25:26  	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:25:26  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:25:26  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:25:26  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:25:26  	at java.base/java.lang.Thread.run(Thread.java:871)
21:25:26  java.lang.Throwable
21:25:26  	at java.base/java.lang.Thread.dumpStack(Thread.java:544)
21:25:26  	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
21:25:26  	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
21:25:26  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:206)
21:25:26  	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
21:25:26  	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:25:26  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:25:26  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:25:26  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:25:26  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:25:26  	at java.base/java.lang.Thread.run(Thread.java:871)

jdk11_tier1_pack200_0, jdk11_tier1_pack200_1 tools/pack200/PackTestZip64.java

21:45:35  java.io.IOException: Files are differ starting at position: 36
21:45:35  	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
21:45:35  	at PackTestZip64.testPacking(PackTestZip64.java:89)
21:45:35  	at PackTestZip64.main(PackTestZip64.java:48)
21:45:35  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:45:35  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
21:45:35  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:45:35  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
21:45:35  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
21:45:35  	at java.base/java.lang.Thread.run(Thread.java:871)

pshipton avatar Apr 21 '22 12:04 pshipton

I tried Adoptium jdk-11.0.15+8 with java/lang/ClassLoader/securityManager/ClassLoaderTest.java and it has the same problem.

openjdk version "11.0.15-beta" 2022-04-19
OpenJDK Runtime Environment Temurin-11.0.15+8-202204191806 (build 11.0.15-beta+8-202204191806)
OpenJDK 64-Bit Server VM Temurin-11.0.15+8-202204191806 (build 11.0.15-beta+8-202204191806, mixed mode)
	Suppressed: java.util.zip.ZipException: invalid entry compressed size (expected 489 but got 486 bytes)
		at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:268)
		at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:361)
		at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:238)
		at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:378)
		at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:152)
		... 10 more

pshipton avatar Apr 21 '22 13:04 pshipton

I believe some of this is fixed by https://github.com/openjdk/jdk11u-dev/pull/1163 https://github.com/ibmruntimes/openj9-openjdk-jdk17/commit/f3af6a0dc and https://github.com/ibmruntimes/openj9-openjdk-jdk17/commit/754993e98 may also be relevant.

pshipton avatar Jul 20 '22 14:07 pshipton

Also discovered some failures on AIX 7.3 P10.

jdk_security3 sun/security/tools/jarsigner/OldSig.java

22:31:33  java.util.zip.ZipException: invalid entry compressed size (expected 178 but got 188 bytes)
22:31:33  	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:269)
22:31:33  	at java.base/java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:193)
22:31:33  	at java.base/java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
22:31:33  	at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:160)
22:31:33  	at OldSig.main(OldSig.java:49)
22:31:33  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
22:31:33  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
22:31:33  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
22:31:33  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
22:31:33  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
22:31:33  	at java.base/java.lang.Thread.run(Thread.java:840)
22:31:33  	Suppressed: java.util.zip.ZipException: invalid entry compressed size (expected 178 but got 188 bytes)
22:31:33  		at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:269)
22:31:33  		at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:369)
22:31:33  		at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:245)
22:31:33  		at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:386)
22:31:33  		at jdk.test.lib.util.JarUtils.updateJarFile(JarUtils.java:152)
22:31:33  		... 7 more

tools/pack200/PackTestZip64.java

15:34:27  java.io.IOException: Files are differ starting at position: 136
15:34:27  	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
15:34:27  	at PackTestZip64.testPacking(PackTestZip64.java:89)
15:34:27  	at PackTestZip64.main(PackTestZip64.java:48)
15:34:27  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:34:27  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
15:34:27  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:34:27  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
15:34:27  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
15:34:27  	at java.base/java.lang.Thread.run(Thread.java:840)

java/util/zip/ZipFile/CopyJar.java

15:40:45  java.util.zip.ZipException: invalid entry compressed size (expected 338 but got 347 bytes)
15:40:45  	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:269)
15:40:45  	at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:369)
15:40:45  	at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:245)
15:40:45  	at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:386)
15:40:45  	at CopyJar.main(CopyJar.java:45)
15:40:45  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:40:45  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
15:40:45  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:40:45  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
15:40:45  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
15:40:45  	at java.base/java.lang.Thread.run(Thread.java:840)

pshipton avatar Jul 20 '22 20:07 pshipton

An internal build(rhel9s390xrt-2)

openjdk version "11.0.16" 2022-07-19
IBM Semeru Runtime Open Edition 11.0.16.0-rc1 (build 11.0.16+8)
Eclipse OpenJ9 VM 11.0.16.0-rc1 (build openj9-0.33.0-rc1, JRE 11 Linux s390x-64-Bit Compressed References 20220720_417 (JIT enabled, AOT enabled)
OpenJ9   - 8cb527940
OMR      - b58aa2708
JCL      - 8b0defbf5f based on jdk-11.0.16+8)

[2022-07-20T16:15:53.534Z] variation: -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache Mode650
[2022-07-20T16:15:53.534Z] JVM_OPTIONS:  -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache -XX:-UseCompressedOops 

[2022-07-20T16:33:03.107Z] TEST: java/util/zip/ZipFile/CopyJar.java

[2022-07-20T16:33:03.108Z] STDERR:
[2022-07-20T16:33:03.108Z] java.util.zip.ZipException: invalid entry compressed size (expected 338 but got 395 bytes)
[2022-07-20T16:33:03.108Z] 	at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:269)
[2022-07-20T16:33:03.108Z] 	at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:369)
[2022-07-20T16:33:03.108Z] 	at java.base/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:245)
[2022-07-20T16:33:03.108Z] 	at java.base/java.util.zip.ZipOutputStream.close(ZipOutputStream.java:386)
[2022-07-20T16:33:03.108Z] 	at CopyJar.main(CopyJar.java:45)
[2022-07-20T16:33:03.108Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:03.108Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:03.108Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:03.108Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:03.108Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:03.108Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:03.108Z] 
[2022-07-20T16:33:03.108Z] JavaTest Message: Test threw exception: java.util.zip.ZipException
[2022-07-20T16:33:03.108Z] JavaTest Message: shutting down test
[2022-07-20T16:33:03.108Z] 
[2022-07-20T16:33:03.108Z] 
[2022-07-20T16:33:03.108Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.util.zip.ZipException: invalid entry compressed size (expected 338 but got 395 bytes)

[2022-07-20T16:33:29.870Z] TEST: java/util/zip/DeflateIn_InflateOut.java

[2022-07-20T16:33:29.871Z] STDERR:
[2022-07-20T16:33:29.871Z] java.lang.Throwable
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:509)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:177)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:29.871Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:29.871Z] java.lang.Throwable
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:509)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:195)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:29.871Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:29.871Z] java.lang.Throwable
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:509)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:205)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:29.871Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:29.871Z] java.lang.Throwable
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:509)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:206)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:29.871Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:29.871Z] java.lang.AssertionError: Some tests failed
[2022-07-20T16:33:29.871Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:245)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:33:29.871Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:33:29.871Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:33:29.871Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:33:29.871Z] 
[2022-07-20T16:33:29.871Z] JavaTest Message: Test threw exception: java.lang.AssertionError
[2022-07-20T16:33:29.871Z] JavaTest Message: shutting down test
[2022-07-20T16:33:29.871Z] 
[2022-07-20T16:33:29.871Z] STDOUT:
[2022-07-20T16:33:29.871Z] 
[2022-07-20T16:33:29.871Z] Passed = 13 failed = 4
[2022-07-20T16:33:29.871Z] 
[2022-07-20T16:33:29.871Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.AssertionError: Some tests failed
[2022-07-20T16:33:29.871Z] --------------------------------------------------
[2022-07-20T16:34:50.924Z] Test results: passed: 841; failed: 2
[2022-07-20T16:35:01.728Z] Report written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/jvmtest/openjdk/report/html/report.html
[2022-07-20T16:35:01.728Z] Results written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_16583324086513/jdk_util_1/work
[2022-07-20T16:35:01.728Z] Error: Some tests failed or other problems occurred.
[2022-07-20T16:35:01.728Z] 
[2022-07-20T16:35:01.728Z] jdk_util_1_FAILED
[2022-07-20T16:36:52.640Z] variation: Mode650
[2022-07-20T16:36:52.640Z] JVM_OPTIONS:  -XX:-UseCompressedOops 

[2022-07-20T16:41:00.874Z] TEST: tools/pack200/PackTestZip64.java

[2022-07-20T16:41:00.876Z] STDERR:
[2022-07-20T16:41:00.876Z] java.io.IOException: Files are differ starting at position: 36
[2022-07-20T16:41:00.876Z] 	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
[2022-07-20T16:41:00.876Z] 	at PackTestZip64.testPacking(PackTestZip64.java:89)
[2022-07-20T16:41:00.876Z] 	at PackTestZip64.main(PackTestZip64.java:48)
[2022-07-20T16:41:00.876Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-07-20T16:41:00.876Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-07-20T16:41:00.876Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-07-20T16:41:00.876Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-07-20T16:41:00.876Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-07-20T16:41:00.876Z] 	at java.base/java.lang.Thread.run(Thread.java:840)
[2022-07-20T16:41:00.876Z] 
[2022-07-20T16:41:00.876Z] JavaTest Message: Test threw exception: java.io.IOException
[2022-07-20T16:41:00.876Z] JavaTest Message: shutting down test
[2022-07-20T16:41:00.876Z] 
[2022-07-20T16:41:00.876Z] 
[2022-07-20T16:41:00.876Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.io.IOException: Files are differ starting at position: 36
[2022-07-20T16:41:00.876Z] --------------------------------------------------
[2022-07-20T16:41:21.036Z] Test results: passed: 17; failed: 1
[2022-07-20T16:41:25.925Z] Report written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/jvmtest/openjdk/report/html/report.html
[2022-07-20T16:41:25.925Z] Results written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_16583324086513/jdk11_tier1_pack200_1/work
[2022-07-20T16:41:25.925Z] Error: Some tests failed or other problems occurred.
[2022-07-20T16:41:25.925Z] 
[2022-07-20T16:41:25.925Z] jdk11_tier1_pack200_1_FAILED

JasonFengJ9 avatar Jul 21 '22 22:07 JasonFengJ9

With the jdk11 rc1a build (containing the fix linked above) we get the following failures (for both compressed and non-compressed runs). None of the failures are for "invalid entry compressed size".

zlinux on RHEL9 z15 tools/pack200/PackTestZip64.java.PackTestZip64

21:52:43  java.io.IOException: Files are differ starting at position: 36
21:52:43  	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
21:52:43  	at PackTestZip64.testPacking(PackTestZip64.java:89)
21:52:43  	at PackTestZip64.main(PackTestZip64.java:48)

java/util/zip/DeflateIn_InflateOut.java.DeflateIn_InflateOut

21:19:36  java.lang.Throwable
21:19:36  	at java.base/java.lang.Thread.dumpStack(Thread.java:509)
21:19:36  	at DeflateIn_InflateOut.fail(DeflateIn_InflateOut.java:235)
21:19:36  	at DeflateIn_InflateOut.check(DeflateIn_InflateOut.java:238)
21:19:36  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:177)
21:19:36  	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:229)
21:19:36  	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:243)
also with the following 3 others:
21:19:36  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:195)
21:19:36  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:205)
21:19:36  	at DeflateIn_InflateOut.SkipBytes(DeflateIn_InflateOut.java:206)

sun/security/tools/jarsigner/OldSig.java passed

AIX on AIX 7.3 P10 tools/pack200/PackTestZip64.java.PackTestZip64

22:23:41  java.io.IOException: Files are differ starting at position: 136
22:23:41  	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
22:23:41  	at PackTestZip64.testPacking(PackTestZip64.java:89)
22:23:41  	at PackTestZip64.main(PackTestZip64.java:48)

java/util/zip/CopyZipFile.java.CopyZipFile

21:43:39  java.lang.Exception: Should throw a ZipException if ZipEntry.setCpompressedSize() was called.
21:43:39  	at CopyZipFile.main(CopyZipFile.java:182)

java/util/zip/DeInflate.java.DeInflate

21:43:39  java.util.zip.DataFormatException: incorrect data check
21:43:39  	at java.base/java.util.zip.Inflater.inflateBytesBytes(Native Method)
21:43:39  	at java.base/java.util.zip.Inflater.inflate(Inflater.java:385)
21:43:39  	at java.base/java.util.zip.Inflater.inflate(Inflater.java:471)
21:43:39  	at DeInflate.checkDict(DeInflate.java:231)
21:43:39  	at DeInflate.main(DeInflate.java:305)

java/util/zip/FlaterTest.java.FlaterTest

21:44:03  java.lang.Exception: Nothing inflated (dst=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192],offset=1048576,rem=0,srcMode=0,dstMode=0)
21:44:03  	at FlaterTest$Flater.InflateData(FlaterTest.java:204)
21:44:03  	at FlaterTest$Flater.run(FlaterTest.java:140)

java/util/zip/InflaterInputStream/TestAvailable.java.TestAvailable

22:11:41  java.lang.RuntimeException: available() > 0, read() == -1 : failed!
22:11:41  	at TestAvailable.test(TestAvailable.java:74)
22:11:41  	at TestAvailable.main(TestAvailable.java:52)

sun/security/tools/jarsigner/OldSig.java passed

pshipton avatar Jul 22 '22 02:07 pshipton

With jdk8 rc1a

zlinux passed (jdk8 zlinux uses the bundled zlib)

AIX (jdk8 AIX uses the system zlib) java/util/zip/CopyZipFile.java.CopyZipFile java/util/zip/DeInflate.java.DeInflate

pshipton avatar Jul 22 '22 03:07 pshipton

Looking at the CopyZipFile.java.CopyZipFile failures on AIX, where we fail with the this exception, issue seems to be related to zlib on AIX 7.3 P10 (Or integration JDK with zlib) itself.

Test simply while creating a Zip file puts different entry with different compression level and different compression method. We fail because of the third entry in the ZipFile [1], where the entry is added with NO_COMPRESSION compression level. When reading the created zip file and copying it into new file [2], test while putting the third entry test3.tzt in the new zip file expects to throw an exception, as for each entry in the new zip file [3], it sets up the compressedSize and hence the flag csizeSet would be set. Now when test reads, copies and puts third entry to new zip file, it expects that this original file that was written initially with NO_COMPRESSION level, would now will be compressed, so the compressedSize from original entry with NO_COMPRESSION would mismatch with the compressed size after deflating the entry, and it should throw ZipException [4].

Now when I modified the test to print out the compressed size of each file that was written when we first create zip File, I see that for third entry, which should be stored with NO_COMRESSION it still does compression. Which causes the test case to fail. To see what we actually do when deflating a data on AIX using java.util.zip.Deflater , I wrote simple unit test, as following which tests the deflation of data with different compression level provided by java.util.zip.Deflater

import java.util.zip.Deflater;

public class JavaDeflaterUnitTest {
        private static final String testStr = "TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest";

        private static final int[] compressionLevel = { Deflater.NO_COMPRESSION, Deflater.BEST_SPEED, Deflater.BEST_COMPRESSION, Deflater.DEFAULT_COMPRESSION };

        private static String getCompressionLevelName(int level) {
                switch(level) {
                        case Deflater.NO_COMPRESSION:
                                return "NO_COMPRESSION";
                        case Deflater.BEST_SPEED:
                                return "BEST_SPEED";
                        case Deflater.BEST_COMPRESSION:
                                return "BEST_COMPRESSION";
                        case Deflater.DEFAULT_COMPRESSION:
                                return "DEFAULT_COMPRESSION";
                        default:
                                return "UNKNOWN_COMPRESSION_LEVEL";
                }
        }
        public static void main(String[] args) {
                byte [] inputData = testStr.getBytes();

                for (int i=0; i < compressionLevel.length; i++) {
                        Deflater deflater= new Deflater();
                        deflater.setInput(inputData);
                        deflater.setLevel(compressionLevel[i]);
                        deflater.finish();
                        while (!deflater.finished())
                                deflater.deflate(inputData);
                        System.out.println("Level = "+getCompressionLevelName(compressionLevel[i])+", Read Uncompressed Data = "+deflater.getBytesRead()+", Compressed DataSize = "+deflater.getBytesWritten());
                }
        }

}

For the above unit test for NO_COMPRESSION level, I got following output on AIX machine,

Level = NO_COMPRESSION, Read Uncompressed Data = 84, Compressed DataSize = 25

while on my workstation (Mac), I got following,

Level = NO_COMPRESSION, Read Uncompressed Data = 84, Compressed DataSize = 95

See the difference in compressed data size, where on Mac with no_Compression, we ended up using more data (Probably the metadata/header of the deflated data) , while on AIX it still ends up compressing data.

In the same unit test, if I construct the Deflater object with passing it the compression level, it works as expected.

[1]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/CopyZipFile.java#L73-L76 [2]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/CopyZipFile.java#L173-L199 [3]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/CopyZipFile.java#L175-L176 [4]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/src/java.base/share/classes/java/util/zip/ZipOutputStream.java#L275-L279

r30shah avatar Jul 25 '22 20:07 r30shah

For the DeflateIn_InflateOut.skipBytes failure, it is failing because of the incorrect assumption taken by the test case.

The test stores the compressed data size in numReadable variable for the input data that was generated by reset() in the beginning of the test. Later it tests skipping different number of compressed bytes with different set of data[1][2]. It compares this total of skipped and read bytes for each case with originally calculated numReadable [3], but these compressed data sizes are not for same data (even though the length of input data is same). The Java specification of "java/util/zip/Deflater" [4] and "java/util/zip/DeflaterOutputStream" [5] contains no guarantee of determinism for compression ratio. Similarly, the specifications of zlib [6] compression library does not provide such assurance. Moreover, the compression ratio is highly dependent on input data as per the zlib compression algorithm [7].
With the system installed zlib that might defaults to hardware bases compression, compression ratio may vary for different data.

[1]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/DeflateIn_InflateOut.java#L165-L177 [2]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/DeflateIn_InflateOut.java#L180-L195 [3]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/java/util/zip/DeflateIn_InflateOut.java#L177 [4]. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/zip/Deflater.html [5]. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/zip/DeflaterOutputStream.html [6]. https://www.ietf.org/rfc/rfc1950.txt [7]. https://zlib.net/feldspar.html

r30shah avatar Jul 25 '22 20:07 r30shah

@zl-wang fyi the zlib problems on AIX 7.3 P10. I'm assuming zlib is providing some hardware compression but seems to have additional problem behaviour to RHEL 9/z15 as well. https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1192121285 https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1194595542

pshipton avatar Jul 25 '22 21:07 pshipton

@rmnattas this was the feature you enabled for AIX. please take a look ...

zl-wang avatar Jul 25 '22 21:07 zl-wang

I have opened up WIP PR in https://github.com/ibmruntimes/openj9-openjdk-jdk11/pull/559 that fixes the skipBytes where it resets the data only ones and uses same data for skipping different bytes throughout the test. While running it manually on RHEL9/z15, it passes.

r30shah avatar Jul 25 '22 22:07 r30shah

Moving this forward while we continue to investigate and update tests.

pshipton avatar Jul 26 '22 15:07 pshipton

Further looked into the failures seen with tools/pack200/PackTestZip64.java.PackTestZip64 on Z. We fail while comparing two jar files in [1]. Here the first jar file testFile is created with the --repack function passed into the pack200 command. Looking at the documentation for pack200 tools, --repack option would produce a jar file by packing and unpacking it. The test later manually packs and unpacks the jar file and produces the second jar file (unpackedFile) [2] and in [3], it does byte by byte comparison of this two jar files.

I copied the golden.jar that is used as input and manually performed steps from the test on RHEL9/Z15 machine and I do see that the size of jar file produced using --repack is different from the file produced using pack and unpack process as separate command. Though inspecting both jar files by unzipping them, I do not see anything different.

Looking into the code that is executed for --repack option to see what is the difference between regular pack-unpack and single --repack command for pack200.

[1]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/tools/pack200/PackTestZip64.java#L89 [2]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/tools/pack200/PackTestZip64.java#L75-L86 [3]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/20d13352ee5c9569416880e340d5c589161082f9/test/jdk/tools/pack200/PackTestZip64.java#L97-L125

r30shah avatar Jul 26 '22 18:07 r30shah

For the AIX failures: on P9 and P10 AIX machines, OpenJ9 uses zlibNX (a hardware accelerated version of zlib) if it's installed in the system. Apparently there's a bug in zlibNX implementation, specifically in deflateParams. The AIX team is notified.

The method deflateParams is used by Deflater.setLevel() hence the test failure. The following modified version of @r30shah test gives the correct outcome:

// Deflater deflater= new Deflater();
// deflater.setLevel(compressionLevel[i]);
Deflater deflater= new Deflater(compressionLevel[i]);                   

Level = NO_COMPRESSION, Read Uncompressed Data = 84, Compressed DataSize = 95

rmnattas avatar Jul 27 '22 17:07 rmnattas

The AIX zlibNX library have been fixed and a patched is available (Defect, libz.a) Patch will be included in Oct AIX updates: 7200-05-05, 7300-00-03, 7300-01

The hardware accelerated compression algorithm have only one compression level, hence changing the compression level (1-9) is meaningless and doesn't have an effect. The edge case which fails this test before the patch is changing from/to level 0 (no compression).

rmnattas avatar Aug 04 '22 17:08 rmnattas

Created infrastructure/issues/7144 to see about updating the machines.

pshipton avatar Aug 04 '22 17:08 pshipton

An internal build(rhel9s390xrt-1 - RH9 machine)

18:08:10  openjdk version "17.0.4" 2022-07-19
18:08:10  IBM Semeru Runtime Open Edition 17.0.4.0 (build 17.0.4+8)
18:08:10  Eclipse OpenJ9 VM 17.0.4.0 (build openj9-0.33.0, JRE 17 Linux s390x-64-Bit Compressed References 20220718_234 (JIT enabled, AOT enabled)
18:08:10  OpenJ9   - 04a55b45b
18:08:10  OMR      - b58aa2708
18:08:10  JCL      - d680e266ef4 based on jdk-17.0.4+8)

18:17:25  ===============================================
18:17:25  Running test jdk_util_0 ...
18:17:25  ===============================================
18:17:25  jdk_util_0 Start Time: Thu Aug  4 23:17:18 2022 Epoch Time (ms): 1659651438831
18:17:25  "/home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_s390x_linux_testList_0/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:destroyAll; "/home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_s390x_linux_testList_0/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:groupAccess,destroyAll; echo "cache cleanup done";
18:17:25  JVMSHRC005I No shared class caches available
18:17:25  JVMSHRC005I No shared class caches available
18:17:25  cache cleanup done
18:17:25  variation: -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache Mode150
18:17:25  JVM_OPTIONS:  -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache -XX:+UseCompressedOops 

18:35:03  TEST: java/util/zip/CloseInflaterDeflaterTest.java

18:35:03  STDOUT:
18:35:03  config CloseInflaterDeflaterTest.before_test(): success
18:35:03  test CloseInflaterDeflaterTest.testDeflaterInputStream(): success
18:35:03  test CloseInflaterDeflaterTest.testDeflaterOutputStream(true): failure
18:35:03  java.lang.AssertionError: Expected NullPointerException to be thrown, but IOException was thrown
18:35:03  	at org.testng.Assert.expectThrows(Assert.java:1724)
18:35:03  	at org.testng.Assert.assertThrows(Assert.java:1695)
18:35:03  	at CloseInflaterDeflaterTest.testDeflaterOutputStream(CloseInflaterDeflaterTest.java:153)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  Caused by: java.io.IOException: write beyond end of stream
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:200)
18:35:03  	at CloseInflaterDeflaterTest.lambda$testDeflaterOutputStream$2(CloseInflaterDeflaterTest.java:143)
18:35:03  	at org.testng.Assert.expectThrows(Assert.java:1714)
18:35:03  	... 34 more
18:35:03  test CloseInflaterDeflaterTest.testDeflaterOutputStream(false): failure
18:35:03  java.lang.AssertionError: Expected NullPointerException to be thrown, but IOException was thrown
18:35:03  	at org.testng.Assert.expectThrows(Assert.java:1724)
18:35:03  	at org.testng.Assert.assertThrows(Assert.java:1695)
18:35:03  	at CloseInflaterDeflaterTest.testDeflaterOutputStream(CloseInflaterDeflaterTest.java:153)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  Caused by: java.io.IOException: write beyond end of stream
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:200)
18:35:03  	at CloseInflaterDeflaterTest.lambda$testDeflaterOutputStream$2(CloseInflaterDeflaterTest.java:143)
18:35:03  	at org.testng.Assert.expectThrows(Assert.java:1714)
18:35:03  	... 34 more
18:35:03  test CloseInflaterDeflaterTest.testGZip(true): failure
18:35:03  java.io.IOException
18:35:03  	at CloseInflaterDeflaterTest$1.write(CloseInflaterDeflaterTest.java:54)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:261)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:210)
18:35:03  	at java.base/java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:148)
18:35:03  	at CloseInflaterDeflaterTest.testGZip(CloseInflaterDeflaterTest.java:121)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  test CloseInflaterDeflaterTest.testGZip(false): failure
18:35:03  java.io.IOException
18:35:03  	at CloseInflaterDeflaterTest$1.write(CloseInflaterDeflaterTest.java:54)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:261)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:210)
18:35:03  	at java.base/java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:148)
18:35:03  	at CloseInflaterDeflaterTest.testGZip(CloseInflaterDeflaterTest.java:121)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  test CloseInflaterDeflaterTest.testInflaterOutputStream(true): success
18:35:03  test CloseInflaterDeflaterTest.testInflaterOutputStream(false): success
18:35:03  test CloseInflaterDeflaterTest.testZipCloseEntry(java.util.jar.JarOutputStream@c89d3a68): failure
18:35:03  java.io.IOException
18:35:03  	at CloseInflaterDeflaterTest$1.write(CloseInflaterDeflaterTest.java:54)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:261)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:210)
18:35:03  	at java.base/java.util.zip.ZipOutputStream.write(ZipOutputStream.java:347)
18:35:03  	at CloseInflaterDeflaterTest.testZipCloseEntry(CloseInflaterDeflaterTest.java:202)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  test CloseInflaterDeflaterTest.testZipCloseEntry(java.util.zip.ZipOutputStream@eb49a87e): failure
18:35:03  java.io.IOException
18:35:03  	at CloseInflaterDeflaterTest$1.write(CloseInflaterDeflaterTest.java:54)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:261)
18:35:03  	at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:210)
18:35:03  	at java.base/java.util.zip.ZipOutputStream.write(ZipOutputStream.java:347)
18:35:03  	at CloseInflaterDeflaterTest.testZipCloseEntry(CloseInflaterDeflaterTest.java:202)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
18:35:03  	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
18:35:03  	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
18:35:03  	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
18:35:03  	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
18:35:03  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
18:35:03  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
18:35:03  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
18:35:03  	at org.testng.TestRunner.privateRun(TestRunner.java:764)
18:35:03  	at org.testng.TestRunner.run(TestRunner.java:585)
18:35:03  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
18:35:03  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
18:35:03  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
18:35:03  	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
18:35:03  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
18:35:03  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
18:35:03  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
18:35:03  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
18:35:03  	at org.testng.TestNG.runSuites(TestNG.java:1069)
18:35:03  	at org.testng.TestNG.run(TestNG.java:1037)
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  
18:35:03  ===============================================
18:35:03  java/util/zip/CloseInflaterDeflaterTest.java
18:35:03  Total tests run: 9, Passes: 3, Failures: 6, Skips: 0
18:35:03  ===============================================
18:35:03  
18:35:03  STDERR:
18:35:03  java.lang.Exception: failures: 6
18:35:03  	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:96)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:35:03  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
18:35:03  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18:35:03  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
18:35:03  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
18:35:03  	at java.base/java.lang.Thread.run(Thread.java:858)
18:35:03  
18:35:03  JavaTest Message: Test threw exception: java.lang.Exception
18:35:03  JavaTest Message: shutting down test
18:35:03  
18:35:03  
18:35:03  TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.Exception: failures: 6
18:35:03  --------------------------------------------------
18:35:52  Test results: passed: 892; failed: 1
18:35:52  Report written to /home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_s390x_linux_testList_0/jvmtest/openjdk/report/html/report.html
18:35:52  Results written to /home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_s390x_linux_testList_0/aqa-tests/TKG/output_16596510128815/jdk_util_0/work
18:35:52  Error: Some tests failed or other problems occurred.
18:35:52  
18:35:52  jdk_util_0_FAILED

JasonFengJ9 avatar Aug 05 '22 13:08 JasonFengJ9

@r30shah pls also take a look at the failure in the previous comment when you get a chance.

pshipton avatar Aug 05 '22 13:08 pshipton

An internal build(p10aix101)

java version "17.0.4" 2022-07-19
IBM Semeru Runtime Certified Edition 17.0.4.0 (build 17.0.4+8)
Eclipse OpenJ9 VM 17.0.4.0 (build openj9-0.33.0, JRE 17 AIX ppc64-64-Bit Compressed References 20220718_195 (JIT enabled, AOT enabled)
OpenJ9   - 04a55b45b
OMR      - b58aa2708
JCL      - 7fe2fc9e0bd based on jdk-17.0.4+8)

[2022-08-05T00:00:05.158Z] variation: -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache Mode650
[2022-08-05T00:00:05.158Z] JVM_OPTIONS:  -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache -XX:-UseCompressedOops 

[2022-08-05T00:29:52.186Z] TEST: java/util/zip/InflaterInputStream/TestAvailable.java

[2022-08-05T00:29:52.213Z] STDERR:
[2022-08-05T00:29:52.213Z] java.lang.RuntimeException: available() > 0, read() == -1 : failed!
[2022-08-05T00:29:52.213Z] 	at TestAvailable.test(TestAvailable.java:74)
[2022-08-05T00:29:52.213Z] 	at TestAvailable.main(TestAvailable.java:52)
[2022-08-05T00:29:52.213Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-05T00:29:52.213Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[2022-08-05T00:29:52.213Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-05T00:29:52.213Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[2022-08-05T00:29:52.213Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
[2022-08-05T00:29:52.213Z] 	at java.base/java.lang.Thread.run(Thread.java:858)
[2022-08-05T00:29:52.213Z] 
[2022-08-05T00:29:52.213Z] JavaTest Message: Test threw exception: java.lang.RuntimeException
[2022-08-05T00:29:52.213Z] JavaTest Message: shutting down test
[2022-08-05T00:29:52.213Z] 
[2022-08-05T00:29:52.213Z] 
[2022-08-05T00:29:52.213Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: available() > 0, read() == -1 : failed!
[2022-08-05T00:29:52.213Z] --------------------------------------------------
[2022-08-05T00:31:16.269Z] TEST: java/util/zip/CopyZipFile.java

[2022-08-05T00:31:16.271Z] STDERR:
[2022-08-05T00:31:16.271Z] java.lang.Exception: Should throw a ZipException if ZipEntry.setCpompressedSize() was called.
[2022-08-05T00:31:16.271Z] 	at CopyZipFile.main(CopyZipFile.java:182)
[2022-08-05T00:31:16.271Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-05T00:31:16.271Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[2022-08-05T00:31:16.271Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-05T00:31:16.271Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[2022-08-05T00:31:16.271Z] 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
[2022-08-05T00:31:16.271Z] 	at java.base/java.lang.Thread.run(Thread.java:858)
[2022-08-05T00:31:16.271Z] 
[2022-08-05T00:31:16.271Z] JavaTest Message: Test threw exception: java.lang.Exception: Should throw a ZipException if ZipEntry.setCpompressedSize() was called.

[2022-08-05T00:31:16.615Z] TEST: java/util/zip/DeflateIn_InflateOut.java

[2022-08-05T00:31:16.642Z] STDERR:
[2022-08-05T00:31:16.642Z] java.util.zip.ZipException: incorrect data check
[2022-08-05T00:31:16.642Z] 	at java.base/java.util.zip.InflaterOutputStream.flush(InflaterOutputStream.java:169)
[2022-08-05T00:31:16.642Z] 	at DeflateIn_InflateOut.NeedsDictionary(DeflateIn_InflateOut.java:263)
[2022-08-05T00:31:16.642Z] 	at DeflateIn_InflateOut.realMain(DeflateIn_InflateOut.java:286)
[2022-08-05T00:31:16.642Z] 	at DeflateIn_InflateOut.main(DeflateIn_InflateOut.java:307)
[2022-08-05T00:31:16.642Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-05T00:31:16.642Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[2022-08-05T00:31:16.642Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-05T00:31:16.642Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[2022-08-05T00:31:16.642Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
[2022-08-05T00:31:16.642Z] 	at java.base/java.lang.Thread.run(Thread.java:858)

[2022-08-05T00:31:17.486Z] TEST: java/util/zip/DeflaterDictionaryTests.java
....

[2022-08-05T00:31:18.677Z] TEST: java/util/zip/DeInflate.java
....

[2022-08-05T00:31:47.539Z] TEST: java/util/zip/FlaterTest.java
[2022-08-05T00:31:47.541Z] STDERR:
[2022-08-05T00:31:47.541Z] JVMJNCK001I JNI check utility installed. Use -Xcheck:jni:help for usage
[2022-08-05T00:31:47.541Z] java.lang.Exception: Nothing inflated (dst=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192],offset=1048576,rem=0,srcMode=0,dstMode=0)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.InflateData(FlaterTest.java:204)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.run(FlaterTest.java:140)
[2022-08-05T00:31:47.541Z] java.lang.Exception: Nothing inflated (dst=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192],offset=1048576,rem=0,srcMode=0,dstMode=0)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.InflateData(FlaterTest.java:204)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.run(FlaterTest.java:140)
[2022-08-05T00:31:47.541Z] java.lang.Exception: Nothing inflated (dst=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192],offset=1048576,rem=0,srcMode=0,dstMode=0)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.InflateData(FlaterTest.java:204)
[2022-08-05T00:31:47.541Z] java.lang.Throwable	at FlaterTest$Flater.run(FlaterTest.java:140)
[2022-08-05T00:31:47.541Z] java.lang.Exception: Nothing inflated (dst=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192],offset=1048576,rem=0,srcMode=0,dstMode=0)java.lang.Throwable
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:525)	at java.base/java.lang.Thread.dumpStack(Thread.java:525)
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] 	at FlaterTest.fail(FlaterTest.java:215)	at FlaterTest.fail(FlaterTest.java:215)
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] 	at FlaterTest.fail(FlaterTest.java:216)	at FlaterTest.fail(FlaterTest.java:216)
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.run(FlaterTest.java:143)	at FlaterTest$Flater.run(FlaterTest.java:143)
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] java.lang.Throwable
[2022-08-05T00:31:47.541Z] 	at java.base/java.lang.Thread.dumpStack(Thread.java:525)
[2022-08-05T00:31:47.541Z] 	at FlaterTest.fail(FlaterTest.java:215)
[2022-08-05T00:31:47.541Z] 	at FlaterTest.fail(FlaterTest.java:216)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.run(FlaterTest.java:143)
[2022-08-05T00:31:47.541Z] 
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.InflateData(FlaterTest.java:204)
[2022-08-05T00:31:47.541Z] 	at FlaterTest$Flater.run(FlaterTest.java:140)

[2022-08-05T00:32:28.351Z] Test results: passed: 890; failed: 6
[2022-08-05T00:32:35.027Z] Report written to /home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_ppc64_aix_testList_0/jvmtest/openjdk/report/html/report.html
[2022-08-05T00:32:35.027Z] Results written to /home/jenkins/workspace/Test_openjdk17_j9_sanity.openjdk_ppc64_aix_testList_0/aqa-tests/TKG/output_16596554097790/jdk_util_1/work
[2022-08-05T00:32:35.027Z] Error: Some tests failed or other problems occurred.
[2022-08-05T00:32:35.027Z] 
[2022-08-05T00:32:35.027Z] jdk_util_1_FAILED

Some errors are similar w/ https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1192121285

JasonFengJ9 avatar Aug 05 '22 18:08 JasonFengJ9

@rmnattas we tried to use the libz.a but the jenkins job got the following error. Running the git clone command by itself outside of jenkins worked fine.

17:57:39  git clone --depth 1 -b v0.33.0-release https://github.com/eclipse-openj9/openj9.git
17:57:39  Cloning into 'openj9'...
17:57:47  fatal: pack has bad object at offset 20311912: inflate returned -5
17:57:47  fatal: fetch-pack: invalid index-pack output
17:57:47  error code: 128. Sleep 300 secs, then retry 1...

It was noticed there may be a permissions problem with the contents of the .a file. The original uses rwxr-xr-x and the new file just rwx.

# ar tv /usr/opt/rpm/lib/libz.a
rwxr-xr-x   205/1     164939 Dec 17 10:29 2020 libz.so.1
rwxr-xr-x   205/1     164939 Dec 17 10:29 2020 shr.o
# ar tv /opt/tempfix/libz.a
rwx------ 502397/906079 278400 Jul 29 19:32 2022 shr.o
rwx------ 502397/906079 278406 Jul 29 19:32 2022 libz.so.1

pshipton avatar Aug 05 '22 22:08 pshipton

@pshipton The AIX team found the issue and solved it:

'git clone' can call the zlib inflate() function (main decompression call) with no output space and compressed input that produces no decompressed output. The AIX zlibNX incorrectly assumed this compressed input could not be decompressed with no output space, resulting in the -5 return code noted.

This issue is addressed by defect 367341 Patched library here (it includes the prior fix for deflateParams described before, https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1205544817)

rmnattas avatar Aug 10 '22 14:08 rmnattas

@rmnattas We tried the new version on p10aix101.rtp.raleigh.ibm.com which fixed the git clone problem but it doesn't fix the java/util/zip/ZipFile/CopyJar.java test, which still fails in the same way.

11:11:20  java.lang.Exception: Should throw a ZipException if ZipEntry.setCpompressedSize() was called.
11:11:20  	at CopyZipFile.main(CopyZipFile.java:182)
11:11:20  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:11:20  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
11:11:20  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
11:11:20  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
11:11:20  	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
11:11:20  	at java.base/java.lang.Thread.run(Thread.java:839)

pshipton avatar Aug 18 '22 15:08 pshipton

An internal build(rhel9s390xrt-1)

java version "11.0.17" 2022-10-18
IBM Semeru Runtime Certified Edition 11.0.17+2 (build 11.0.17+2)
Eclipse OpenJ9 VM 11.0.17+2 (build master-1719d2e01, JRE 11 Linux s390x-64-Bit Compressed References 20220826_360 (JIT enabled, AOT enabled)
OpenJ9   - 1719d2e01
OMR      - 938f0686f
JCL      - 3dc2dd0048 based on jdk-11.0.17+2)

[2022-08-27T17:14:11.373Z] variation: Mode150
[2022-08-27T17:14:11.373Z] JVM_OPTIONS:  -XX:+UseCompressedOops 

[2022-08-27T17:18:01.685Z] TEST: tools/pack200/PackTestZip64.java

[2022-08-27T17:18:01.687Z] STDERR:
[2022-08-27T17:18:01.687Z] java.io.IOException: Files are differ starting at position: 36
[2022-08-27T17:18:01.687Z] 	at PackTestZip64.compareTwoFiles(PackTestZip64.java:117)
[2022-08-27T17:18:01.687Z] 	at PackTestZip64.testPacking(PackTestZip64.java:89)
[2022-08-27T17:18:01.687Z] 	at PackTestZip64.main(PackTestZip64.java:48)
[2022-08-27T17:18:01.687Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-27T17:18:01.687Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-08-27T17:18:01.687Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-27T17:18:01.687Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-08-27T17:18:01.687Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
[2022-08-27T17:18:01.687Z] 	at java.base/java.lang.Thread.run(Thread.java:839)
[2022-08-27T17:18:01.687Z] 
[2022-08-27T17:18:01.687Z] JavaTest Message: Test threw exception: java.io.IOException
[2022-08-27T17:18:01.687Z] JavaTest Message: shutting down test
[2022-08-27T17:18:01.687Z] 
[2022-08-27T17:18:01.687Z] 
[2022-08-27T17:18:01.687Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.io.IOException: Files are differ starting at position: 36
[2022-08-27T17:18:01.687Z] --------------------------------------------------
[2022-08-27T17:18:17.443Z] Test results: passed: 17; failed: 1
[2022-08-27T17:18:25.199Z] Report written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_16616178247180/jdk11_tier1_pack200_0/report/html/report.html
[2022-08-27T17:18:25.199Z] Results written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_16616178247180/jdk11_tier1_pack200_0/work
[2022-08-27T17:18:25.199Z] Error: Some tests failed or other problems occurred.
[2022-08-27T17:18:25.199Z] 
[2022-08-27T17:18:25.199Z] jdk11_tier1_pack200_0_FAILED

an internal build(rhel9s390xrt-2)

java version "11.0.17" 2022-10-18
IBM Semeru Runtime Certified Edition 11.0.17+2 (build 11.0.17+2)
Eclipse OpenJ9 VM 11.0.17+2 (build master-1719d2e01, JRE 11 Linux s390x-64-Bit Compressed References 20220826_360 (JIT enabled, AOT enabled)
OpenJ9   - 1719d2e01
OMR      - 938f0686f
JCL      - 3dc2dd0048 based on jdk-11.0.17+2)

[2022-08-27T07:29:41.474Z] variation: Mode150
[2022-08-27T07:29:41.475Z] JVM_OPTIONS:  -XX:+UseCompressedOops 

[2022-08-27T07:33:33.122Z] TEST: javax/imageio/plugins/shared/ImageWriterCompressionTest.java

[2022-08-27T07:33:33.124Z] STDERR:
[2022-08-27T07:33:33.124Z] java.lang.RuntimeException: Incorrect file length: 67577 larger than previous: 67444 !
[2022-08-27T07:33:33.124Z] 	at ImageWriterCompressionTest.testCompression(ImageWriterCompressionTest.java:163)
[2022-08-27T07:33:33.124Z] 	at ImageWriterCompressionTest.main(ImageWriterCompressionTest.java:105)
[2022-08-27T07:33:33.124Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-27T07:33:33.124Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-08-27T07:33:33.124Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-27T07:33:33.124Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-08-27T07:33:33.124Z] 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
[2022-08-27T07:33:33.124Z] 	at java.base/java.lang.Thread.run(Thread.java:839)

[2022-08-27T07:33:33.125Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Incorrect file length: 67577 larger than previous: 67444 !
[2022-08-27T07:33:33.125Z] --------------------------------------------------
[2022-08-27T07:36:59.724Z] Test results: passed: 194; failed: 1
[2022-08-27T07:37:04.685Z] Report written to /home/jenkins/workspace/Test_openjdk11_j9_extended.openjdk_s390x_linux/aqa-tests/TKG/output_16615668935541/jdk_imageio_0/report/html/report.html
[2022-08-27T07:37:04.685Z] Results written to /home/jenkins/workspace/Test_openjdk11_j9_extended.openjdk_s390x_linux/aqa-tests/TKG/output_16615668935541/jdk_imageio_0/work
[2022-08-27T07:37:04.685Z] Error: Some tests failed or other problems occurred.
[2022-08-27T07:37:04.685Z] 
[2022-08-27T07:37:04.685Z] jdk_imageio_0_FAILED

JasonFengJ9 avatar Aug 30 '22 22:08 JasonFengJ9

An internal grinder(rhel9lert-1)

variation: NoOptions
JVM_OPTIONS:  
Using scaled threading model. 8 processors detected, 8 threads used to drive the workload, in a possible range of [1,256]
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at org.dacapo.harness.Sunflow.preIteration(Sunflow.java:52)
	at org.dacapo.harness.Benchmark.run(Benchmark.java:171)
	at org.dacapo.harness.TestHarness.runBenchmark(TestHarness.java:199)
	at org.dacapo.harness.TestHarness.main(TestHarness.java:152)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at Harness.main(Unknown Source)
Caused by: java.lang.RuntimeException: Unable to load reference frame!
	at org.sunflow.Benchmark.print(Benchmark.java:252)
	at org.sunflow.system.UI.printError(UI.java:63)
	at org.sunflow.Benchmark.<init>(Benchmark.java:99)
	... 14 more

dacapo-sunflow_0_FAILED

The RuntimeException appears from https://github.com/fpsunflower/sunflow/blob/15fa9c6cc6729934181bb877e67f1d1c13679f89/src/org/sunflow/Benchmark.java#L84-L86

        URL imageURL = Benchmark.class.getResource(String.format("/resources/golden_%04X.png", resolution));
        if (imageURL == null)
            UI.printError(Module.BENCH, "Unable to find reference frame!");

The test passes at non-RHEL9 machine - ubu20le-rt1-9

Put this RHEL9 specific problem here until otherwise.

JasonFengJ9 avatar Sep 12 '22 19:09 JasonFengJ9

Regarding failure in CopyZipFile in AIX (https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1219620230)

The failure is caused by a obscure bug in zlib that was fixed (https://github.com/madler/zlib/commit/f9694097dd69354b03cb8af959094c7f260db0a1) but was just included in the latest zlib release 1.2.12 earlier this year. The change is included in the JVM's bundled zlib for a while.

The AIX toolbox was updated with the new zlib release and systems can upgrade to zlib 1.2.12. For zlibNX we're talking with the AIX team to see if they're planning to move to 1.2.12 or if it's possible to include the change as a patch.

Note: AIX's system (non-NX) zlib has the issue too but used to pass the test as the way the test is made doesn't catch the incorrect behaviour.

rmnattas avatar Sep 15 '22 15:09 rmnattas

"Incorrect file length" failures similar to the ones reported above for JDK11 are also seen on JDK17: javax/imageio/plugins/shared/ImageWriterCompressionTest.java on jdk_imageio_0 and 1 (all modes).

Internal grinder (on rhel9s390xrt-2.hursley.ibm.com):

09:12:49  java version "17.0.4.1" 2022-08-12
09:12:49  IBM Semeru Runtime Certified Edition 17.0.4.1 (build 17.0.4.1+1)
09:12:49  Eclipse OpenJ9 VM 17.0.4.1 (build openj9-0.33.1, JRE 17 Linux s390x-64-Bit Compressed References 20220811_208 (JIT enabled, AOT enabled)
09:12:49  OpenJ9   - 1d9d16830
09:12:49  OMR      - b58aa2708
09:12:49  JCL      - df9b7169bff based on jdk-17.0.4.1+1)
10:31:50  STDERR:
10:31:50  java.lang.RuntimeException: Incorrect file length: 67589 larger than previous: 67355 !
10:31:50  	at ImageWriterCompressionTest.testCompression(ImageWriterCompressionTest.java:163)
10:31:50  	at ImageWriterCompressionTest.main(ImageWriterCompressionTest.java:105)
10:31:50  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10:31:50  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
10:31:50  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
10:31:50  	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
10:31:50  	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
10:31:50  	at java.base/java.lang.Thread.run(Thread.java:858)
10:31:50  
10:31:50  JavaTest Message: Test threw exception: java.lang.RuntimeException: Incorrect file length: 67589 larger than previous: 67355 !
10:31:50  JavaTest Message: shutting down test
10:31:50  
10:31:50  STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Incorrect file length: 67589 larger than previous: 67355 !

Mesbah-Alam avatar Sep 21 '22 15:09 Mesbah-Alam

Internal build(p10aix009)

openjdk version "1.8.0_352"
IBM Semeru Runtime Open Edition (build 1.8.0_352-b06)
Eclipse OpenJ9 VM (build openj9-0.35.0-m2b, JRE 1.8.0 AIX ppc64-64-Bit Compressed References 20221001_477 (JIT enabled, AOT enabled)
OpenJ9   - 2e24c0da7
OMR      - 447afc0f0
JCL      - fa9321797d based on jdk8u352-b06)

[2022-10-02T04:21:15.402Z] variation: -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache Mode150
[2022-10-02T04:21:15.402Z] JVM_OPTIONS:  -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache -XX:+UseCompressedOops 

[2022-10-02T04:40:58.289Z] TEST: java/util/zip/CopyZipFile.java

[2022-10-02T04:40:58.289Z] STDERR:
[2022-10-02T04:40:58.289Z] java.lang.Exception: Should throw a ZipException if ZipEntry.setCpompressedSize() was called.
[2022-10-02T04:40:58.289Z] 	at CopyZipFile.main(CopyZipFile.java:216)
[2022-10-02T04:40:58.289Z] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-10-02T04:40:58.289Z] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-10-02T04:40:58.289Z] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-10-02T04:40:58.289Z] 	at java.lang.reflect.Method.invoke(Method.java:498)
[2022-10-02T04:40:58.289Z] 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
[2022-10-02T04:40:58.289Z] 	at java.lang.Thread.run(Thread.java:826)

[2022-10-02T04:40:58.290Z] TEST: java/util/zip/DeInflate.java

[2022-10-02T04:40:58.292Z] java.lang.RuntimeException: De/inflater failed:java.util.zip.Deflater@d46327a2
[2022-10-02T04:40:58.292Z] 	at DeInflate.checkStream(DeInflate.java:60)
[2022-10-02T04:40:58.292Z] 	at DeInflate.main(DeInflate.java:137)
[2022-10-02T04:40:58.292Z] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-10-02T04:40:58.292Z] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-10-02T04:40:58.292Z] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-10-02T04:40:58.292Z] 	at java.lang.reflect.Method.invoke(Method.java:498)
[2022-10-02T04:40:58.292Z] 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2022-10-02T04:40:58.292Z] 	at java.lang.Thread.run(Thread.java:826)

[2022-10-02T04:41:39.030Z] jdk_util_0_FAILED

JasonFengJ9 avatar Oct 03 '22 22:10 JasonFengJ9

I spent sometime yesterday trying to figure out why test PackTestZip64 fails when hardware compression was enabled. Summarizing what I have found so far.

As mentioned in [1], the test actually launches three different commands as following.

  1. pack200 --repack tools_java.jar Looking at the the source code [2], it looks like the repack will first packs the jar file (Which will iterate through each jar entry in the jar files and will compress them and put in the resultant temporary pack file, and then also unpacks the temporary file and produces a jar file that can be fed to jarsigner tool.

  2. pack200 tools.pack.gz tools_java.jar This will generate a compressed gz file from tools_java.jar.

  3. unpack200 tools_native.jar tools.pack.gz This will unpacks the tools.pack.gz and generate a new jar file tools_native.jar and puts the jar entry to this new file.

Here is the verbose output on step three when using software and hardware compression.

  1. Software Compression
$ ../../jdk-11.0.16.1+1/bin/unpack200 -v tools.pack.gz tools_native.jar

Warning: The unpack200 tool is deprecated, and is planned for removal in a future JDK release.

Unpacking from tools.pack.gz to tools_native.jar
com.sun.java.util.jar.pack.unpack.log.file=-
unpack.deflate.hint=(not set)
com.sun.java.util.jar.pack.unpack.remove.packfile=false
com.sun.java.util.jar.pack.verbose=1
com.sun.java.util.jar.pack.unpack.modification.time=(not set)
unpacker completed with status=0
A total of 398851 bytes were read in 1 segment(s).
A total of 787030 file content bytes were written.
A total of 60 files (of which 49 are classes) were written to output.

$ ls -la tools_native.jar
... 445677 31 Oct 14:46 tools_native.jar
$ ls -la tools_java.jar
... 445677 31 Oct 14:46 tools_java.jar
  1. Hardware Compression
[jenkins@rhel9s390xrt-1 src]$ ../../jdk-11.0.16.1+1/bin/unpack200 -v tools.pack.gz tools_native.jar

Warning: The unpack200 tool is deprecated, and is planned for removal in a future JDK release.

Unpacking from tools.pack.gz to tools_native.jar
com.sun.java.util.jar.pack.unpack.log.file=-
unpack.deflate.hint=(not set)
com.sun.java.util.jar.pack.unpack.remove.packfile=false
com.sun.java.util.jar.pack.verbose=1
com.sun.java.util.jar.pack.unpack.modification.time=(not set)
unpacker completed with status=0
A total of 397326 bytes were read in 1 segment(s).
A total of 787030 file content bytes were written.
A total of 60 files (of which 49 are classes) were written to output.

$ ls -la tools_native.jar
... 495980 31 Oct 14:47 tools_native.jar
$ ls -la tools_java.jar
... 469713 31 Oct 14:47 tools_java.jar

So total bytes written and the files read in both cases are same but the size of the jar files are different. Now the test does the byte wise comparison of this two jar files (tools_java.jar and tools_native.jar) and fails with data mismatch. Even though input data that was given to the manual pack-unpack is same, when we generate a jar file by unpacking the pack.gz file, it will create a different jar file with hardware compression, and would not necessarily be same to original input data when comparing bytewise. I am looking to find out what will be the right way to compare the jar files. So far only thing I can find is to iterate through the individual jar entries in the file and compare the crc value of the uncompressed data to verify if they match or not, though it will not be doing exact match of data for individual entries.

[1]. https://github.com/eclipse-openj9/openj9/issues/14948#issuecomment-1195852797 [2]. https://github.com/ibmruntimes/openj9-openjdk-jdk11/blob/668807c307d4f5205ce5bdfac832e851d57c9b4c/src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java

r30shah avatar Nov 01 '22 14:11 r30shah

@r30shah do you have any further updates?

pshipton avatar Nov 29 '22 15:11 pshipton

So far only thing I can find is to iterate through the individual jar entries in the file and compare the crc value of the uncompressed data to verify if they match or not, though it will not be doing exact match of data for individual entries.

@pshipton I am stuck on finding right way to programmatically compare two jar files. The change I mentioned in comment does work (Iterate through jar entries and compare crc32 checksum), but still it is not the complete solution.

r30shah avatar Nov 29 '22 15:11 r30shah