Hi Peter, I am surprised by the java/net/httpclient failures: these tests have been quite stable for me. Is your repository up to date? Or are these maybe failing in timeout, in which case you might need to increase the timeout factor (-timeout) or lower the concurrency (-conc). Or maybe you have some weird configuration in your /etc/hosts - issues have been known to happen if looking up "localhost" doesn't resolve to the loopback address.
I any case I'd be curious to see the reason for those failures. best regards -- daniel On 11/06/2020 19:14, Peter Kessler OS wrote:
Daniel, Thanks for the suggestion to run more tests. I'm not sure what the criteria for "success" is here. I have run $ jtreg-5.0-b01/bin/jtreg \ -verbose:summary -a -ea -esa -agentvm -conc:8 -ignore:quiet -timeout:2 \ -exclude:./test/jdk/ProblemList.txt \ -jdk:${jdk} \ ./test/jdk/:jdk_core ./test/jdk/:jdk_svc on aarch64 and x86_64, using the available OracleJDK build 15-ea+25-1229, and a build I did of jdk-15+25 with the patch (called jdk-15+25+ below). The results are ... confusing. I ran the tests 4 times on each JDK. The summary of the results on x86_64 are 15-ea+25-1229 Test results: passed: 6,718; failed: 4; error: 9 Test results: passed: 6,708; failed: 13; error: 10 Test results: passed: 6,713; failed: 9; error: 9 Test results: passed: 6,718; failed: 4; error: 9 jdk-15+25+ Test results: passed: 6,719; failed: 6; error: 9 Test results: passed: 6,712; failed: 12; error: 10 Test results: passed: 6,718; failed: 7; error: 9 Test results: passed: 6,718; failed: 7; error: 9 The fact that in different runs different tests pass, fail, or error is unfortunate. Counting the different failures in the 4 runs shows 15-ea+25-1229 3 FAILED: com/sun/jdi/PrivateTransportTest.java 1 FAILED: java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java 1 FAILED: java/net/httpclient/ProxyAuthDisabledSchemes.java 2 FAILED: java/net/httpclient/ProxyAuthDisabledSchemesSSL.java 1 FAILED: java/net/httpclient/ResponseBodyBeforeError.java 1 FAILED: java/net/httpclient/ResponsePublisher.java 2 FAILED: java/net/httpclient/ShortResponseBody.java 2 FAILED: java/net/httpclient/ShortResponseBodyWithRetry.java 1 FAILED: java/net/httpclient/SpecialHeadersTest.java 1 FAILED: java/net/httpclient/StreamingBody.java 4 FAILED: java/security/KeyStore/PKCS12/MetadataStoreLoadTest.java 1 FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertAPITest.java 2 FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertKeytool.java 4 FAILED: sun/security/pkcs11/Secmod/AddTrustedCert.java 4 FAILED: tools/jlink/plugins/StripNativeDebugSymbolsPlugin/StripNativeDebugSymbolsPlugin jdk-15+25+ 1 FAILED: com/sun/jdi/PrivateTransportTest.java 3 FAILED: java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java 1 FAILED: java/net/httpclient/ProxyAuthDisabledSchemes.java 1 FAILED: java/net/httpclient/ProxyAuthDisabledSchemesSSL.java 1 FAILED: java/net/httpclient/ResponsePublisher.java 1 FAILED: java/net/httpclient/ShortResponseBody.java 1 FAILED: java/net/httpclient/ShortResponseBodyWithRetry.java 1 FAILED: java/net/httpclient/SpecialHeadersTest.java 1 FAILED: java/net/httpclient/SplitResponseAsync.java 1 FAILED: java/net/httpclient/StreamingBody.java 1 FAILED: java/security/KeyStore/PKCS12/MetadataStoreLoadTest.java 3 FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertAPITest.java 2 FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertKeytool.java 1 FAILED: java/util/logging/Logger/bundleLeak/BundleTest.java 1 FAILED: jdk/jfr/event/runtime/TestThreadAllocationEvent.java 4 FAILED: sun/security/lib/cacerts/VerifyCACerts.java 4 FAILED: sun/security/pkcs11/Secmod/AddTrustedCert.java 4 FAILED: tools/jlink/plugins/StripNativeDebugSymbolsPlugin/StripNativeDebugSymbolsPluginTest.java To your worry about "potential damage", I would have worried about java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java, except it did not fail all the time with the patch, and it also failed without the patch. Many of the other failures seem intermittent. I am not sure how to classify the failures that persisted across the 4 runs I did. The summary of the results on aarch64 is not as good, for either build: 15-ea+25-1229 Test results: passed: 6,658; failed: 74; error: 10 Test results: passed: 6,657; failed: 74; error: 11 Test results: passed: 6,660; failed: 71; error: 10 Test results: passed: 6,663; failed: 69; error: 10 jdk-15+25+ Test results: passed: 6,661; failed: 73; error: 11 Test results: passed: 6,659; failed: 75; error: 10 Test results: passed: 6,663; failed: 71; error: 11 Test results: passed: 6,655; failed: 79; error: 11 Comparing the failures and errors in 3rd run of each, the differences from 15-ea+25-1229 to jdk-15+25+ are > Error: sun/tools/jstatd/TestJstatdExternalRegistry.java < FAILED: com/sun/jdi/PrivateTransportTest.java > FAILED: java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java < FAILED: java/security/KeyStore/PKCS12/MetadataStoreLoadTest.java < FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertAPITest.java > FAILED: jdk/net/ExtendedSocketOption/AsynchronousSocketChannelNAPITest.java > FAILED: sun/security/lib/cacerts/VerifyCACerts.java Again, UnresolvableObjectStreamClass.java would be worrying, except that it did not always fail with the patch and also sometimes (not shown) failed with the OracleJDK 15-ea+25-1229 build. Comparing the failures across the 4 runs shows the difference between the persistent (that is, they failed on all 4 runs) between 15-ea+25-1229 and jdk-15+25+ to be < FAILED: com/sun/jdi/PrivateTransportTest.java < FAILED: java/security/KeyStore/PKCS12/StoreTrustedCertKeytool.java > FAILED: sun/security/lib/cacerts/VerifyCACerts.java Similar to, but not the same as, the persistent failures on x86_64. (Can I attribute the generally higher rate of failure on aarch64 compared to x86_64 to fact that aarch64 is a new platform for Oracle?) What further testing would you recommend? ... peter -----Original Message----- From: Daniel Fuchs <daniel.fu...@oracle.com> Date: Tuesday, June 9, 2020 at 10:18 AM To: Peter Kessler OS <peter.kess...@os.amperecomputing.com>, "core-libs-dev@openjdk.java.net" <core-libs-dev@openjdk.java.net> Subject: Re: [PATCH] 8246633: Improve the performance of ObjectInputStream.resolveClass(ObjectStreamClass) Hi Peter, This is not a review. I second Roger's observations. On 05/06/2020 00:08, Peter Kessler OS wrote: > Tested with `make run-test-tier1` on Linux (CentOS 7) on both aarch64 and x86_64. I had one failure on each of the runs The code you are proposing to change affects RMI and JMX too. For an initial evaluation of the potential damage you will need to test at least with jdk_core and jdk_svc (and if that's successful then probably some of the lower tiers too): $ jtreg -verbose:summary -a -ea -esa -agentvm -conc:8 -ignore:quiet -timeout:2 -exclude:./test/jdk/ProblemList.txt -jdk:<tested-jdk> ./test/jdk/:jdk_core ./test/jdk/:jdk_svc best regards, -- daniel