From prappo at openjdk.java.net Tue Mar 1 13:17:21 2022 From: prappo at openjdk.java.net (Pavel Rappo) Date: Tue, 1 Mar 2022 13:17:21 GMT Subject: RFR: 8282311: Fix a typo in javax.lang.model.type.NullType Message-ID: Please review this trivial fix. ------------- Commit messages: - Initial commit Changes: https://git.openjdk.java.net/jdk/pull/7646/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7646&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282311 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/7646.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7646/head:pull/7646 PR: https://git.openjdk.java.net/jdk/pull/7646 From jpai at openjdk.java.net Tue Mar 1 13:46:07 2022 From: jpai at openjdk.java.net (Jaikiran Pai) Date: Tue, 1 Mar 2022 13:46:07 GMT Subject: RFR: 8281705: SourceLauncherTest.testSystemProperty isn't being run [v2] In-Reply-To: References: Message-ID: On Wed, 23 Feb 2022 01:42:26 GMT, Jaikiran Pai wrote: >> Can I please get a review of this test-only change which fixes the issue noted in https://bugs.openjdk.java.net/browse/JDK-8281705? >> >> The change in this commit adds the `@Test` annotation on the test method to make sure it gets run. Before this change, the test run logs showed that `28 tests` were being run and now after this change, the logs report `29 tests` and I can see `testSystemProperty` in the test run logs. > > Jaikiran Pai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: > > - Merge latest from master branch > - 8281705: SourceLauncherTest.testSystemProperty isn't being run Any reviews on this one please? ------------- PR: https://git.openjdk.java.net/jdk/pull/7456 From jjg at openjdk.java.net Tue Mar 1 14:54:07 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Tue, 1 Mar 2022 14:54:07 GMT Subject: RFR: 8282311: Fix a typo in javax.lang.model.type.NullType In-Reply-To: References: Message-ID: On Tue, 1 Mar 2022 13:10:14 GMT, Pavel Rappo wrote: > Please review this trivial fix. Marked as reviewed by jjg (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7646 From prappo at openjdk.java.net Tue Mar 1 15:25:07 2022 From: prappo at openjdk.java.net (Pavel Rappo) Date: Tue, 1 Mar 2022 15:25:07 GMT Subject: Integrated: 8282311: Fix a typo in javax.lang.model.type.NullType In-Reply-To: References: Message-ID: On Tue, 1 Mar 2022 13:10:14 GMT, Pavel Rappo wrote: > Please review this trivial fix. This pull request has now been integrated. Changeset: 31b61f98 Author: Pavel Rappo URL: https://git.openjdk.java.net/jdk/commit/31b61f982c41b52ae99bd8ecf1977a6c0de515e2 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8282311: Fix a typo in javax.lang.model.type.NullType Reviewed-by: jjg ------------- PR: https://git.openjdk.java.net/jdk/pull/7646 From prappo at openjdk.java.net Tue Mar 1 18:23:03 2022 From: prappo at openjdk.java.net (Pavel Rappo) Date: Tue, 1 Mar 2022 18:23:03 GMT Subject: RFR: JDK-8282411: Add useful predicates to ElementKind In-Reply-To: References: Message-ID: <2Abpa_o-LgZzltH-6yM3aS3f83CqWxa401w_EIb6mdE=.2e495236-f26a-44d5-9a5d-31d5d21aba9e@github.com> On Mon, 28 Feb 2022 21:33:22 GMT, Joe Darcy wrote: > Discussion from a recent review in javadoc, adding some more functionality to ElementKind predicates. > > Please also review the CSR: https://bugs.openjdk.java.net/browse/JDK-8282461 Other than unusual indentation in isExecutable and isInitializer, looks good. Thanks! ------------- Marked as reviewed by prappo (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7637 From cushon at google.com Tue Mar 1 18:36:06 2022 From: cushon at google.com (Liam Miller-Cushon) Date: Tue, 1 Mar 2022 10:36:06 -0800 Subject: Approach for JDK-8225377: type annotations are not visible to javac plugins across compilation boundaries Message-ID: Hello, I'm interested in trying to help with https://bugs.openjdk.java.net/browse/JDK-8225377 (type annotations are not visible to javac plugins across compilation boundaries). The issue described in the bug is that type annotations are not currently associated with some TypeMirrors loaded from the classpath. For example, TypeMirror#getAnnotationMirrors for the return type of a method does not report type annotations if the method was loaded from the classpath, but it does work for elements compiled from source in the current compilation. What I understand so far is: * the ClassReader reads in the full *TypeAnnotations attributes, including type paths * it creates a TypeAnnotationCompleter that saves the type annotations to the associated Symbol using Symbol#setTypeAttributes * the Symbol never associates the type annotations with their corresponding types, e.g. a MethodSymbol does not attach annotations to its return type It seems like there's logic missing to interpret the type paths read from class files and attach them to the appropriate type model element. This would be somewhat similar to the logic in core reflection that handles type paths and deals with reporting type annotations on the correct type [1]. I'm wondering if I'm missing something, is there any prior work in javac to interpret type paths read from class files? If not, would there be interest in accepting that as a contribution? It would add some complexity and potential overhead, but I'm not seeing a good alternative to fix TypeMirror#getAnnotationMirrors for types read from class files. [1] https://github.com/openjdk/jdk/blob/d983d108c565654e717e2811d88aa94d982da2f5/src/java.base/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java#L194 -------------- next part -------------- An HTML attachment was scrubbed... URL: From darcy at openjdk.java.net Tue Mar 1 18:53:08 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Tue, 1 Mar 2022 18:53:08 GMT Subject: RFR: JDK-8282411: Add useful predicates to ElementKind [v2] In-Reply-To: References: Message-ID: <_Gxn9VjggIZz901e9qbBOo4-DmbXaO7kHEXW2UhPDIM=.b6ad3b39-d5c6-4723-b70e-ef7be395acc9@github.com> > Discussion from a recent review in javadoc, adding some more functionality to ElementKind predicates. > > Please also review the CSR: https://bugs.openjdk.java.net/browse/JDK-8282461 Joe Darcy has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Improve whitespace. - Merge branch 'master' into JDK-8282411 - Add tests. - JDK-8282411: Add useful predicates to ElementKind ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7637/files - new: https://git.openjdk.java.net/jdk/pull/7637/files/7d423d65..c72518b5 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7637&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7637&range=00-01 Stats: 7179 lines in 217 files changed: 4818 ins; 1227 del; 1134 mod Patch: https://git.openjdk.java.net/jdk/pull/7637.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7637/head:pull/7637 PR: https://git.openjdk.java.net/jdk/pull/7637 From darcy at openjdk.java.net Tue Mar 1 18:53:09 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Tue, 1 Mar 2022 18:53:09 GMT Subject: Integrated: JDK-8282411: Add useful predicates to ElementKind In-Reply-To: References: Message-ID: On Mon, 28 Feb 2022 21:33:22 GMT, Joe Darcy wrote: > Discussion from a recent review in javadoc, adding some more functionality to ElementKind predicates. > > Please also review the CSR: https://bugs.openjdk.java.net/browse/JDK-8282461 This pull request has now been integrated. Changeset: 732d891f Author: Joe Darcy URL: https://git.openjdk.java.net/jdk/commit/732d891f9f8987edfc188c049eb19de6ba790c42 Stats: 102 lines in 2 files changed: 97 ins; 0 del; 5 mod 8282411: Add useful predicates to ElementKind Reviewed-by: prappo ------------- PR: https://git.openjdk.java.net/jdk/pull/7637 From valeriep at openjdk.java.net Wed Mar 2 00:21:47 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 2 Mar 2022 00:21:47 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA Message-ID: It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: - SHA-384 for secure hashing - AES-256 for symmetric encryption - RSA with 3072 bit keys for digital signatures and for key exchange - Diffie Hellman (DH) with 3072 bit keys for key exchange - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? Thanks! ------------- Commit messages: - 8267319: Use larger default key sizes and algorithms based on CNSA Changes: https://git.openjdk.java.net/jdk/pull/7652/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267319 Stats: 479 lines in 29 files changed: 321 ins; 6 del; 152 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From ascarpino at openjdk.java.net Wed Mar 2 04:06:00 2022 From: ascarpino at openjdk.java.net (Anthony Scarpino) Date: Wed, 2 Mar 2022 04:06:00 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 00:13:41 GMT, Valerie Peng wrote: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! I have some compatibility concerns about the AES change breaking code that expects a SecretKeySpec of 16 bytes. I can see situations where '.getEncoded()' returns a byte[32] when user code expects a byte[16]. Also, I'm pretty sure passing a 32 byte SecretKeySpec into an AES_128_GCM op will throw an exception. I haven't looked at other modes. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From aturbanov at openjdk.java.net Wed Mar 2 18:50:46 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Wed, 2 Mar 2022 18:50:46 GMT Subject: RFR: 8282574: Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler Message-ID: <73RfdVOUXAjoAPOIraO_U6SJfShzociY9O3oV0-AR3g=.8f0c0bb0-ccac-4eac-a9d3-496ddc88339d@github.com> Pass cause exception as constructor parameter is shorter and easier to read. ------------- Commit messages: - [PATCH] Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler module Changes: https://git.openjdk.java.net/jdk/pull/7662/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7662&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282574 Stats: 9 lines in 2 files changed: 0 ins; 5 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/7662.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7662/head:pull/7662 PR: https://git.openjdk.java.net/jdk/pull/7662 From valeriep at openjdk.java.net Wed Mar 2 22:30:07 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 2 Mar 2022 22:30:07 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 04:02:45 GMT, Anthony Scarpino wrote: > I have some compatibility concerns about the AES change breaking code that expects a SecretKeySpec of 16 bytes. I can see situations where '.getEncoded()' returns a byte[32] when user code expects a byte[16]. Also, I'm pretty sure passing a 32 byte SecretKeySpec into an AES_128_GCM op will throw an exception. I haven't looked at other modes. Well, I am not sure how specifying a 32-byte SecretKeySpec (instance of a SecretKey) with AES Cipher would trigger AES_128_GCM op? Shouldn't the keysize be detected when Cipher.init() is called and then invoking the right op? True that this default key size change would impact callers who do not specify key size but then made the assumption of key being 16-byte. Well, the key generator javadoc did warn about not setting a default, i.e. different providers may have different default key size and that the default key size may change later for the same provider. So, it's not like we have not warned about it... ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From ascarpino at openjdk.java.net Thu Mar 3 20:14:02 2022 From: ascarpino at openjdk.java.net (Anthony Scarpino) Date: Thu, 3 Mar 2022 20:14:02 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 00:13:41 GMT, Valerie Peng wrote: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Fair point that the keysize would determine the algorithm used and the default key sizes for keygen. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From darcy at openjdk.java.net Fri Mar 4 06:51:03 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Fri, 4 Mar 2022 06:51:03 GMT Subject: RFR: 8282574: Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler In-Reply-To: <73RfdVOUXAjoAPOIraO_U6SJfShzociY9O3oV0-AR3g=.8f0c0bb0-ccac-4eac-a9d3-496ddc88339d@github.com> References: <73RfdVOUXAjoAPOIraO_U6SJfShzociY9O3oV0-AR3g=.8f0c0bb0-ccac-4eac-a9d3-496ddc88339d@github.com> Message-ID: <-tp4rbzz1CwGkbYrLYhrgG4SYmE_5dzwIxf5xpbVpIc=.37a8f780-eb83-4c63-bcdf-3af74880e5c3@github.com> On Wed, 2 Mar 2022 18:43:35 GMT, Andrey Turbanov wrote: > Pass cause exception as constructor parameter is shorter and easier to read. Marked as reviewed by darcy (Reviewer). src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java line 303: > 301: processorIterator = List.of(new PrintingProcessor()).iterator(); > 302: } catch (Throwable t) { > 303: throw new AssertionError("Problem instantiating PrintingProcessor.", t); When this annotation processing code was written in JDK 6, I wondered why we didn't use the other constructor at the time. Turns out, that constructor of AssertionError was only added in JDK 7 under [JDK-6935997](https://bugs.openjdk.java.net/browse/JDK-6935997) :-) ------------- PR: https://git.openjdk.java.net/jdk/pull/7662 From duke at openjdk.java.net Fri Mar 4 16:56:25 2022 From: duke at openjdk.java.net (Matteo Baccan) Date: Fri, 4 Mar 2022 16:56:25 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Hi I have pushed this PR about 1 month ago. Only 3 days ago OCA was accepted. Now: what is the next step? This is a cleanup PR that removes some double semicolons at the end of some lines inside the JDK code. ciao matteo ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From duke at openjdk.java.net Fri Mar 4 16:56:25 2022 From: duke at openjdk.java.net (Matteo Baccan) Date: Fri, 4 Mar 2022 16:56:25 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines Message-ID: Hi I have reviewed the code for removing double semicolons at the end of lines all the best matteo ------------- Commit messages: - Removed double semicolon at the end of lines Changes: https://git.openjdk.java.net/jdk/pull/7268/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7268&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282657 Stats: 93 lines in 82 files changed: 0 ins; 0 del; 93 mod Patch: https://git.openjdk.java.net/jdk/pull/7268.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7268/head:pull/7268 PR: https://git.openjdk.java.net/jdk/pull/7268 From jwaters at openjdk.java.net Fri Mar 4 16:56:26 2022 From: jwaters at openjdk.java.net (Julian Waters) Date: Fri, 4 Mar 2022 16:56:26 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 25 Feb 2022 15:40:09 GMT, Matteo Baccan wrote: >> Hi >> >> I have reviewed the code for removing double semicolons at the end of lines >> >> all the best >> matteo > > Hi > > I have pushed this PR about 1 month ago. Only 3 days ago OCA was accepted. > Now: what is the next step? > > This is a cleanup PR that removes some double semicolons at the end of some lines inside the JDK code. > > ciao > matteo Hi @matteobaccan The next step would be to create a relevant issue on the tracker and set it to track this PR. Since you don't have the ability to create new issues on the JBS yet I'll help you create one, please rename your PR title to 8282657 and the system should take care of the rest and automatically mark your PR as ready for review after setting it to track the corresponding JBS entry. Cheers, Julian ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From lancea at openjdk.java.net Fri Mar 4 17:07:59 2022 From: lancea at openjdk.java.net (Lance Andersen) Date: Fri, 4 Mar 2022 17:07:59 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo The changes look OK. The copyright year probably should be updated as part of this PR ------------- Marked as reviewed by lancea (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7268 From duke at openjdk.java.net Fri Mar 4 17:14:05 2022 From: duke at openjdk.java.net (Matteo Baccan) Date: Fri, 4 Mar 2022 17:14:05 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Hi Lance I can make a second commit updating the copyright year Tell me if this is necessary ciao matteo ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From rriggs at openjdk.java.net Fri Mar 4 17:20:05 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Fri, 4 Mar 2022 17:20:05 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo We usually request that these be be broken up by area to attract the appropriate reviewers and avoid eye-strain. The client modules are usually separated out, as are hotspot. And corresponding tests. This kind of change is pretty low value for the code base and requires the involvement of quite a few reviewers. If you had ask ahead of time, I would have suggested finding something with more value. ------------- Changes requested by rriggs (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7268 From ihse at openjdk.java.net Fri Mar 4 17:50:03 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Fri, 4 Mar 2022 17:50:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 4 Mar 2022 17:17:12 GMT, Roger Riggs wrote: >> Hi >> >> I have reviewed the code for removing double semicolons at the end of lines >> >> all the best >> matteo > > We usually request that these be be broken up by area to attract the appropriate reviewers and avoid eye-strain. The client modules are usually separated out, as are hotspot. > And corresponding tests. > This kind of change is pretty low value for the code base and requires the involvement of quite a few reviewers. > If you had ask ahead of time, I would have suggested finding something with more value. @RogerRiggs Otoh, this change is really trivial. I have verified that all changes are replacing trailing ";;" in Java code. These are all clearly typos. I think it's nice that we try to strive for a high quality, and while you are correct this is maybe not the most pressing issue, I think it's nice to get a cleanup like this done. I'd argue that this is a trivial change. If you are worried, let's get a couple of more reviewers. I can't see the need to split this up per area. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From prr at openjdk.java.net Fri Mar 4 19:10:06 2022 From: prr at openjdk.java.net (Phil Race) Date: Fri, 4 Mar 2022 19:10:06 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Marked as reviewed by prr (Reviewer). Looks like there's only one client source code file touched Most of the client changes are only in jtreg tests - and this is very trivial, so I'm OK with them being included here. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From rriggs at openjdk.java.net Fri Mar 4 19:33:06 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Fri, 4 Mar 2022 19:33:06 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Marked as reviewed by rriggs (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From iris at openjdk.java.net Fri Mar 4 19:43:03 2022 From: iris at openjdk.java.net (Iris Clark) Date: Fri, 4 Mar 2022 19:43:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Nice tidy of the code. Is there anything that can be done to prevent re-introduction of this trivial problem? Perhaps a new Skara bot jcheck option similar to what is already in place for trailing whitespace? ------------- Marked as reviewed by iris (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7268 From wetmore at openjdk.java.net Fri Mar 4 19:56:03 2022 From: wetmore at openjdk.java.net (Bradford Wetmore) Date: Fri, 4 Mar 2022 19:56:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: <1X39o4ON1uvbSXAp_r66zAmSy6sWZFKaP7-M54vAqX0=.d6abe0d5-9dd2-409b-91df-255d838196cb@github.com> On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo LGTM also. Similar suggestion for updating copyrights. ------------- Marked as reviewed by wetmore (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7268 From darcy at openjdk.java.net Fri Mar 4 21:33:07 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Fri, 4 Mar 2022 21:33:07 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Marked as reviewed by darcy (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From dholmes at openjdk.java.net Sat Mar 5 05:52:04 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Sat, 5 Mar 2022 05:52:04 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: <2NJw-71OOOvNs9519H__uYdXQnJm23L-Ez4jKoAuKrk=.c277d644-fd63-442e-99a1-6d3d66cb3405@github.com> On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo I eyeballed the diff file and all seems okay. Thanks, David ------------- Marked as reviewed by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7268 From jwaters at openjdk.java.net Sat Mar 5 06:52:13 2022 From: jwaters at openjdk.java.net (Julian Waters) Date: Sat, 5 Mar 2022 06:52:13 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo Nice, good work matteo Should I change the JBS issue title to match the PR title, or is it preferred for the PR title to change? ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From duke at openjdk.java.net Sat Mar 5 07:22:03 2022 From: duke at openjdk.java.net (Jan =?UTF-8?B?U2NobMO2w59pbg==?=) Date: Sat, 5 Mar 2022 07:22:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo This PR changes a comment in javax/swing/RepaintManager.java. This commented out code should be removed altogether in another PR? Because its an System.out.println and because its commented out code. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From erikj at openjdk.java.net Mon Mar 7 13:44:05 2022 From: erikj at openjdk.java.net (Erik Joelsson) Date: Mon, 7 Mar 2022 13:44:05 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Sat, 5 Mar 2022 06:49:16 GMT, Julian Waters wrote: > Should I change the JBS issue title to match the PR title, or is it preferred for the PR title to change? They need to match. You can either do it manually, or change the title to just the bug number and the bot will change it for you. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From jwaters at openjdk.java.net Mon Mar 7 16:24:00 2022 From: jwaters at openjdk.java.net (Julian Waters) Date: Mon, 7 Mar 2022 16:24:00 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Mon, 7 Mar 2022 13:40:48 GMT, Erik Joelsson wrote: > > Should I change the JBS issue title to match the PR title, or is it preferred for the PR title to change? > > They need to match. You can either do it manually, or change the title to just the bug number and the bot will change it for you. Alright, I can't change the title of the PR, I guess it'll be easier for me to change the issue instead ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From lancea at openjdk.java.net Mon Mar 7 16:43:08 2022 From: lancea at openjdk.java.net (Lance Andersen) Date: Mon, 7 Mar 2022 16:43:08 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo What problem are you having editing the PR header? You should be able to do so as the author of the PR ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From kcr at openjdk.java.net Mon Mar 7 16:52:07 2022 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Mon, 7 Mar 2022 16:52:07 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Mon, 7 Mar 2022 16:40:15 GMT, Lance Andersen wrote: > What problem are you having editing the PR header? You should be able to do so as the author of the PR Exactly. You should see an "Edit" button near the right edge of the PR title. See the attached image: ![PR-title](https://user-images.githubusercontent.com/34689748/157079404-eadbe8be-ae94-41e0-b17b-0d1a8026b9da.png) ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From kcr at openjdk.java.net Mon Mar 7 16:56:06 2022 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Mon, 7 Mar 2022 16:56:06 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo But as the JBS title and PR title now match, this is a moot point. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From ihse at openjdk.java.net Mon Mar 7 17:18:03 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 7 Mar 2022 17:18:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Mon, 7 Mar 2022 16:40:15 GMT, Lance Andersen wrote: >> Hi >> >> I have reviewed the code for removing double semicolons at the end of lines >> >> all the best >> matteo > > What problem are you having editing the PR header? You should be able to do so as the author of the PR @LanceAndersen @kevinrushforth TheShermanTanker is not the author of this PR, he's just assisting the author by creating the JBS issue. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From kcr at openjdk.java.net Mon Mar 7 17:18:03 2022 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Mon, 7 Mar 2022 17:18:03 GMT Subject: RFR: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Mon, 7 Mar 2022 17:12:25 GMT, Magnus Ihse Bursie wrote: > TheShermanTanker is not the author of this PR, he's just assisting the author by creating the JBS issue. Ah, that explains it then. ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From duke at openjdk.java.net Mon Mar 7 21:37:05 2022 From: duke at openjdk.java.net (Matteo Baccan) Date: Mon, 7 Mar 2022 21:37:05 GMT Subject: Integrated: 8282657: Code cleanup: removing double semicolons at the end of lines In-Reply-To: References: Message-ID: On Fri, 28 Jan 2022 14:39:31 GMT, Matteo Baccan wrote: > Hi > > I have reviewed the code for removing double semicolons at the end of lines > > all the best > matteo This pull request has now been integrated. Changeset: ccad3923 Author: Matteo Baccan Committer: Magnus Ihse Bursie URL: https://git.openjdk.java.net/jdk/commit/ccad39237ab860c5c5579537f740177e3f1adcc9 Stats: 93 lines in 82 files changed: 0 ins; 0 del; 93 mod 8282657: Code cleanup: removing double semicolons at the end of lines Reviewed-by: lancea, rriggs, ihse, prr, iris, wetmore, darcy, dholmes ------------- PR: https://git.openjdk.java.net/jdk/pull/7268 From joel.costigliola at gmail.com Tue Mar 1 01:02:26 2022 From: joel.costigliola at gmail.com (Joel Costigliola) Date: Tue, 1 Mar 2022 14:02:26 +1300 Subject: Commenting and voting on JDK-8152289 Message-ID: Hi, I'm one of the core maintainer of AssertJ , the https://github.com/assertj/assertj-core/issues/2385 issue is about slow compile time and might be related to https://bugs.openjdk.java.net/browse/JDK-8152289. I wanted to vote for JDK-8152289 and add a comment to raise awareness that it possibly impacts AssertJ users, but I could not do that and it's not clear what I need to do to be able to. Could you add the comment on my behalf or tell me how to comment on issues? Kind regards, Joel Costigliola -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.bair at hedera.com Tue Mar 8 22:09:32 2022 From: richard.bair at hedera.com (Richard Bair) Date: Tue, 8 Mar 2022 14:09:32 -0800 Subject: Reproducible builds Message-ID: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> Hi! I am wondering whether it is a stated goal or non-legally binding guarantee that the compilation of a program from the same build of OpenJDK will always produce the same binary output? I understand that at the specification level there is no guarantee of reproducible builds, and that different JDKs from different providers may very well produce non-identical binaries. Is there any indeterminism in a run from javac that would produce different binary artifacts? Thanks Richard From jonathan.gibbons at oracle.com Wed Mar 9 01:16:57 2022 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 8 Mar 2022 17:16:57 -0800 Subject: Reproducible builds In-Reply-To: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> References: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> Message-ID: Yes, not only it is true for javac, but it is an aspiration for builds of OpenJDK as a whole. In general, the common problem is timestamps, and for those tools that use timestamps, there is a precedent to support a `--date` option.? This includes jar, javadoc, jlink etc, but not javac, because javac does not put timestamps in generated files. -- Jon On 3/8/22 2:09 PM, Richard Bair wrote: > Hi! > > I am wondering whether it is a stated goal or non-legally binding guarantee that the compilation of a program from the same build of OpenJDK will always produce the same binary output? I understand that at the specification level there is no guarantee of reproducible builds, and that different JDKs from different providers may very well produce non-identical binaries. Is there any indeterminism in a run from javac that would produce different binary artifacts? > > Thanks > Richard From valeriep at openjdk.java.net Wed Mar 9 02:02:51 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 9 Mar 2022 02:02:51 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v2] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Updated to use SHA-384 as long as the keysize permits. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/27e27836..7f6fe4b5 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=00-01 Stats: 27 lines in 7 files changed: 6 ins; 4 del; 17 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From joe.darcy at oracle.com Wed Mar 9 13:04:27 2022 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 9 Mar 2022 05:04:27 -0800 Subject: Reproducible builds In-Reply-To: References: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> Message-ID: On a related note, it is allowable for the javac from JDK $N and the javac from JDK $N+$K using --release $N to produce different class files. -Joe On 3/8/2022 5:16 PM, Jonathan Gibbons wrote: > Yes, not only it is true for javac, but it is an aspiration for builds > of OpenJDK as a whole. > > In general, the common problem is timestamps, and for those tools that > use timestamps, there is a precedent to support a `--date` option.? > This includes jar, javadoc, jlink etc, but not javac, because javac > does not put timestamps in generated files. > > -- Jon > > > On 3/8/22 2:09 PM, Richard Bair wrote: >> Hi! >> >> I am wondering whether it is a stated goal or non-legally binding >> guarantee that the compilation of a program from the same build of >> OpenJDK will always produce the same binary output? I understand that >> at the specification level there is no guarantee of reproducible >> builds, and that different JDKs from different providers may very >> well produce non-identical binaries. Is there any indeterminism in a >> run from javac that would produce different binary artifacts? >> >> Thanks >> Richard From weijun at openjdk.java.net Wed Mar 9 16:44:03 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Wed, 9 Mar 2022 16:44:03 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v2] In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 02:02:51 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Updated to use SHA-384 as long as the keysize permits. The `JarSigner` API is not updated. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From valeriep at openjdk.java.net Wed Mar 9 19:15:36 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 9 Mar 2022 19:15:36 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v3] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Update JarSigner javadoc to make it consistent with previous update ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/7f6fe4b5..099a6d92 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=01-02 Stats: 16 lines in 2 files changed: 0 ins; 3 del; 13 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From weijun at openjdk.java.net Wed Mar 9 19:49:45 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Wed, 9 Mar 2022 19:49:45 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v3] In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 19:15:36 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Update JarSigner javadoc to make it consistent with previous update Sorry if my previous comment confused you, the code and javadoc are not consistent now. src/java.base/share/classes/sun/security/util/SignatureUtil.java line 561: > 559: return (isDSA || bitLength >= 624 ? "SHA384" : "SHA256"); > 560: } > 561: } In this method, "SHA-384" for 7680-bit key (7680 > 7680 is false). src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java line 439: > 437: * Specifically, if a DSA or RSA key with a key size no less than 7680 > 438: * bits, or an EC key with a key size no less than 512 bits, > 439: * SHA-512 will be used as the hash function for the signature. In this javadoc, SHA-512 for 7680-bit key (7680 is no less than 7680). ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From achung at openjdk.java.net Wed Mar 9 21:16:48 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Wed, 9 Mar 2022 21:16:48 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 Message-ID: msg drop for jdk19, Mar 9, 2022 ------------- Commit messages: - open jdk19 l10n msg drop Changes: https://git.openjdk.java.net/jdk/pull/7765/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8280400 Stats: 13775 lines in 142 files changed: 12170 ins; 1249 del; 356 mod Patch: https://git.openjdk.java.net/jdk/pull/7765.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7765/head:pull/7765 PR: https://git.openjdk.java.net/jdk/pull/7765 From valeriep at openjdk.java.net Wed Mar 9 22:13:47 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 9 Mar 2022 22:13:47 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v3] In-Reply-To: References: Message-ID: <1j7YQWGZ5x2PU7aUm7m2gUBkI_BThArGU6qrn5fYPng=.49a446eb-f48f-4276-b326-f1cea296c1cb@github.com> On Wed, 9 Mar 2022 19:44:39 GMT, Weijun Wang wrote: >> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: >> >> Update JarSigner javadoc to make it consistent with previous update > > src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java line 439: > >> 437: * Specifically, if a DSA or RSA key with a key size no less than 7680 >> 438: * bits, or an EC key with a key size no less than 512 bits, >> 439: * SHA-512 will be used as the hash function for the signature. > > In this javadoc, SHA-512 for 7680-bit key (7680 is no less than 7680). Right, there are a few places which this is documented. Code and doc aren't closely coupled together plus changed course a few times... I will fix this and double check other files. Thanks! ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From naoto at openjdk.java.net Wed Mar 9 22:29:44 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Wed, 9 Mar 2022 22:29:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 21:09:30 GMT, Alisen Chung wrote: > msg drop for jdk19, Mar 9, 2022 `src/java.base/share/classes/sun/util/resources/CurrencyNames_de.properties` `src/java.base/share/classes/sun/util/resources/CurrencyNames_ja.properties` `src/java.base/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties` These are part of `jdk.localedata` module. Should be excluded from `java.base` module and apply the diffs to `src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_xx.properties` manually. (Note that the first half of it is not necessary when merging). ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From dalibor.topic at oracle.com Wed Mar 9 23:26:16 2022 From: dalibor.topic at oracle.com (Dalibor Topic) Date: Thu, 10 Mar 2022 00:26:16 +0100 Subject: Reproducible builds In-Reply-To: References: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> Message-ID: <19d49bf2-fa57-6674-672f-347c0932bb89@oracle.com> Annotation processors may also be written in such a way to deliberately produce different outputs on each invocation, although one really, really should not do that. cheers, dalibor topic On 09.03.2022 14:04, Joe Darcy wrote: > On a related note, it is allowable for the javac from JDK $N and the > javac from JDK $N+$K using --release $N to produce different class files. > > -Joe > > On 3/8/2022 5:16 PM, Jonathan Gibbons wrote: >> Yes, not only it is true for javac, but it is an aspiration for builds >> of OpenJDK as a whole. >> >> In general, the common problem is timestamps, and for those tools that >> use timestamps, there is a precedent to support a `--date` option. >> This includes jar, javadoc, jlink etc, but not javac, because javac >> does not put timestamps in generated files. >> >> -- Jon >> >> >> On 3/8/22 2:09 PM, Richard Bair wrote: >>> Hi! >>> >>> I am wondering whether it is a stated goal or non-legally binding >>> guarantee that the compilation of a program from the same build of >>> OpenJDK will always produce the same binary output? I understand that >>> at the specification level there is no guarantee of reproducible >>> builds, and that different JDKs from different providers may very >>> well produce non-identical binaries. Is there any indeterminism in a >>> run from javac that would produce different binary artifacts? >>> >>> Thanks >>> Richard -- Dalibor Topic Consulting Product Manager Phone: +494089091214 , Mobile: +491737185961 Oracle Global Services Germany GmbH Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRB 246209 Gesch?ftsf?hrer: Ralf Herrmann From valeriep at openjdk.java.net Thu Mar 10 00:20:36 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Thu, 10 Mar 2022 00:20:36 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v4] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Updated to match the latest SignatureUtil.ifcFfcStrength() impl ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/099a6d92..f728aa7d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=02-03 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From joehw at openjdk.java.net Thu Mar 10 00:46:44 2022 From: joehw at openjdk.java.net (Joe Wang) Date: Thu, 10 Mar 2022 00:46:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: <8oYKi_L4IgNDFUfJ9uXlSl47KULO4j1HudfJg3kVeCU=.90fa019e-8b6f-4a69-870b-cd53c8802490@github.com> On Wed, 9 Mar 2022 21:09:30 GMT, Alisen Chung wrote: > msg drop for jdk19, Mar 9, 2022 For the bundles in java.xml: For files with Oracle copyright, update the year to 2022 and @LastModified Mar 2022. Take XPATHErrorResources_ja.java as an example, the copyright year was updated to 2021 and @LastModified: Nov 2021. That's probably the date it was last modified, but as we updating them now along with a number of other files, it would be good to be consistent and change all of them to the current date. For files with the reserved comment block such as SerializerMessages_de.java, do the same as did in XPATHErrorResources_de.java, add the copyright header and LastModified tag with the current date. For files with the Oracle GPL license such as message_zh_CN.properties, do not delete the license header. Instead, update the copyright year to 2022 if there are changes. I don't see any changes were made for many of these files, for example from msg/XMLSchemaMessages_ja.properties to regex/message_zh_CN.properties, the only change was the removal of the header. In the webrev view, some files have the word "undefined" right under the license header, hopefully once the license header is fixed, that would go away as well. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From dfuchs at openjdk.java.net Thu Mar 10 10:34:43 2022 From: dfuchs at openjdk.java.net (Daniel Fuchs) Date: Thu, 10 Mar 2022 10:34:43 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 21:09:30 GMT, Alisen Chung wrote: > msg drop for jdk19, Mar 9, 2022 For simple webserver resource files - should the copyright year be 2022? ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From magnus.ihse.bursie at oracle.com Thu Mar 10 11:04:00 2022 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Thu, 10 Mar 2022 12:04:00 +0100 Subject: Reproducible builds In-Reply-To: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> References: <35723474-993B-4A70-A2DE-2E8770BA0743@hedera.com> Message-ID: On 2022-03-08 23:09, Richard Bair wrote: > Hi! > > I am wondering whether it is a stated goal or non-legally binding guarantee that the compilation of a program from the same build of OpenJDK will always produce the same binary output? I understand that at the specification level there is no guarantee of reproducible builds, and that different JDKs from different providers may very well produce non-identical binaries. Is there any indeterminism in a run from javac that would produce different binary artifacts? > I think the best way to answer this question is that historically, any discovered non-deterministic output from javac has been considered a bug, and fixed. /Magnus From jlahoda at openjdk.java.net Thu Mar 10 12:36:09 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Thu, 10 Mar 2022 12:36:09 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs Message-ID: Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. This patch adds the error/warning in case a preview method is overridden. ------------- Commit messages: - Improving test. - 8282823: javac should constrain more uses of preview APIs Changes: https://git.openjdk.java.net/jdk/pull/7774/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7774&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282823 Stats: 203 lines in 2 files changed: 203 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7774.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7774/head:pull/7774 PR: https://git.openjdk.java.net/jdk/pull/7774 From jlaskey at openjdk.java.net Thu Mar 10 12:55:42 2022 From: jlaskey at openjdk.java.net (Jim Laskey) Date: Thu, 10 Mar 2022 12:55:42 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. LGTM ------------- Marked as reviewed by jlaskey (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7774 From naoto at openjdk.java.net Thu Mar 10 17:03:45 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Thu, 10 Mar 2022 17:03:45 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 21:09:30 GMT, Alisen Chung wrote: > msg drop for jdk19, Mar 9, 2022 IIRC, localized resource files should have the same copyright year as the base English one. That's what I was told by the l10n engineer when I had the same comment. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From dfuchs at openjdk.java.net Thu Mar 10 17:09:44 2022 From: dfuchs at openjdk.java.net (Daniel Fuchs) Date: Thu, 10 Mar 2022 17:09:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 17:00:09 GMT, Naoto Sato wrote: > IIRC, localized resource files should have the same copyright year as the base English one. That's what I was told by the l10n engineer when I had the same comment. Thanks Naoto! I have no objection then. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From achung at openjdk.java.net Thu Mar 10 17:55:44 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Thu, 10 Mar 2022 17:55:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: References: Message-ID: > msg drop for jdk19, Mar 9, 2022 Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: moved CurrencyNames changes to jdk.localedata ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7765/files - new: https://git.openjdk.java.net/jdk/pull/7765/files/fb51cf60..4735722d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=00-01 Stats: 2807 lines in 6 files changed: 693 ins; 1527 del; 587 mod Patch: https://git.openjdk.java.net/jdk/pull/7765.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7765/head:pull/7765 PR: https://git.openjdk.java.net/jdk/pull/7765 From cjplummer at openjdk.java.net Thu Mar 10 19:06:43 2022 From: cjplummer at openjdk.java.net (Chris Plummer) Date: Thu, 10 Mar 2022 19:06:43 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: References: Message-ID: <8cpPZ7PatfiigWBze5jL-LUXa6urMiCgdhpm1otQHhA=.1862cf26-296b-438e-acfe-2a83b64dc539@github.com> On Thu, 10 Mar 2022 17:55:44 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > moved CurrencyNames changes to jdk.localedata src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_de.java line 305: > 303: {"Thread not suspended", "Thread nicht unterbrochen"}, > 304: {"thread group number description name", "{0,number,integer}. {1} {2}"}, > 305: {"Threadgroup name not specified.", "Name der Threadgruppe nicht angegeben."}, Same comment here as mentioned in TTYResources_ja.java. src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_de.java line 342: > 340: {"watch modification of", "\u00C4nderung von {0}.{1} \u00FCberwachen"}, > 341: {"zz help text", > 342: "** Befehlsliste **\nconnectors -- Listet verf\u00FCgbare Connectors und Transporte in dieser VM auf\n\nrun [class [args]] -- Startet die Ausf\u00FChrung der Hauptklasse der Anwendung\n\nthreads [threadgroup] -- Listet Threads auf\nthread -- Legt den Standardthread fest\nsuspend [thread id(s)] -- Unterbricht Threads (Standard: all)\nresume [thread id(s)] -- Nimmt Threads wieder auf (Standard: all)\nwhere [ | all] -- Gibt den Stack eines Threads aus\nwherei [ | all] -- Gibt den Stack eines Threads mit PC-Informationen aus\nup [n frames] -- Verschiebt den Stack eines Threads nach oben\ndown [n frames] -- Verschiebt den Stack eines Threads nach unten\nkill -- Bricht einen Thread mit dem angegebenen Ausnahmeobjekt ab\ninterrupt -- Unterbricht einen Thread\n\nprint -- Gibt den Wert eines Ausdrucks aus\ndump -- Gibt alle Objektinformationen aus\neval -- Bewertet einen Ausdruck (wie \"print\")\nset = -- Weist einem Feld/einer Variablen/einem Arrayelement einen neuen Wert zu\nlocals -- Gibt alle lokalen Variablen im aktuellen Stackframe aus\n\nclasses -- Listet derzeit bekannte Klassen auf\nclass -- Zeigt Details einer benannten Klasse an\nmethods -- Listet die Methoden einer Klasse auf\nfields -- Listet die Felder einer Klasse auf\n\nthreadgroups -- Listet Threadgruppen auf\nthreadgroup -- Legt die aktuelle Threadgruppe fest\n\nstop [go|thread] [] \n -- Legt einen Breakpoint fest\n -- Wenn Sie keine Optionen angeben, wird die aktuelle Breakpoint-Liste ausgegeben\n -- Wenn Sie \"go\" angeben, wird der Vorgang nach dem Stoppen sofort wiederaufgenommen\n -- Wenn Sie \"thread\" angeben, wird nur der Thread unterbrochen, in dem gestoppt wurde\n -- Wenn Sie weder \"go\" noch \"thread\" angeben, werden alle Threads unterbrochen\n -- Wenn Sie eine ganzzahlige angeben, wird der Vorgang nur im angegebenen Thread gestoppt\n -- \"at\" und \"in\" haben die gleiche Bedeutung\n -- kann eine Zeilennummer oder eine Methode sein:\n -- :\n -- .[(argument_type,...)]\nclear .[(argument_type,...)]\n -- L\u00F6scht einen Breakpoint in einer Methode\nclear : -- L\u00F6scht einen Breakpoint bei einer Zeile\nclear -- Listet Breakpoints auf\ncatch [uncaught|caught|all] |\n -- Break bei der angegebenen Ausnahme\nignore [uncaught|caught|all] |\n -- Bricht \"catch\" f\u00FCr die angegebene Ausnahme ab\nwatch [access|all] .\n -- \u00DCberwacht Zugriffe/\u00C4nderungen eines Feldes\nunwatch [access|all] .\n -- Hebt die \u00DCberwachung der Zugriffe/\u00C4nderungen eines Feldes auf\ntrace [go] methods [thread]\n -- Verfolgt Methodenstarts und -beendigungen.\n -- Alle Threads werden unterbrochen, es sei denn, \"go\" ist angegeben\ntrace [go] method exit | exits [thread]\n -- Verfolgt die Beendigung der aktuellen Methode oder die Beendigungen aller Methoden\n -- Alle Threads werden unterbrochen, es sei denn, \"go\" ist angegeben\nuntrace [methods] -- Stoppt das Tracing von Methodenstarts und/oder -beendigungen\nstep -- F\u00FChrt die aktuelle Zeile aus\nstep up -- Ausf\u00FChren, bis die aktuelle Methode an den Aufrufer zur\u00FCckgegeben wird\nstepi -- F\u00FChrt die aktuelle Anweisung aus\nnext -- Eine Zeile weiter (Aufrufe auslassen)\ncont -- Setzt die Ausf\u00FChrung ab dem Breakpoint fort\n\nlist [line number|method] -- Gibt den Quellcode aus\nuse (or sourcepath) [source file path]\n -- Zeigt den Quellpfad an oder \u00E4ndert diesen\nexclude [, ... | \"none\"]\n -- Meldet keine Schritt- oder Methodenereignisse f\u00FCr angegebene Klassen\nclasspath -- Gibt Classpath-Informationen aus der Ziel-VM aus\n\nmonitor -- F\u00FChrt bei jedem Programmstopp einen Befehl aus\nmonitor -- Listet Monitore auf\nunmonitor -- L\u00F6scht einen Monitor\nread -- Liest eine Befehlsdatei und f\u00FChrt diese aus\n\nlock -- Gibt Sperrinformationen f\u00FCr ein Objekt aus\nthreadlocks [thread id] -- Gibt Sperrinformationen f\u00FCr einen Thread aus\n\npop -- Holt den Stack bis zum aktuellen Frame (einschlie\u00DFlich)\nreenter -- Wie \"pop\", aber der aktuelle Frame wird wieder eingegeben\nredefine \n -- Definiert den Code f\u00FCr eine Klasse neu\n\ndisablegc -- Verhindert die Garbage Collection eines Objekts\nenablegc -- L\u00E4sst die Garbage Collection eines Objekts zu\n\n!! -- Wiederholt den letzten Befehl\n -- Wiederholt einen Befehl n-mal\nrepeat -- Zeigt an, ob die Wiederholung durch leeren Befehl im GDB-Stil aktiviert ist\nrepeat -- Aktiviert/deaktiviert die Wiederholung im GDB-Stil\n# -- Verwerfen (kein Vorgang)\nhelp (oder ?) -- Listet Befehle auf\ndbgtrace [flag] -- Identisch mit der Befehlszeilenoption \"dbgtrace\"\nversion -- Gibt Versionsinformationen aus\nexit (oder quit) -- Beendet den Debugger\n\n: Ein vollst\u00E4ndiger Klassenname mit Package-Qualifiers\n: Ein Klassenname mit einem Platzhalter am Anfang oder Ende (\"*\")\n: Threadnummer aus dem Befehl \"threads\"\n: Ein Ausdruck der Java(TM)-Programmiersprache.\nDer Gro\u00DFteil der g\u00E4ngigen Syntax wird unterst\u00FCtzt.\n\nStartbefehle k\u00F6nnen in \"jdb.ini\" oder \".jdbrc\" abgelegt werden\nin user.home oder user.dir"}, Same comment here as mentioned in TTYResources_ja.java. src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java line 305: > 303: {"Thread not suspended", "\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u3066\u3044\u307E\u305B\u3093"}, > 304: {"thread group number description name", "{0,number,integer}. {1} {2}"}, > 305: {"Threadgroup name not specified.", "\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, I'm not sure what happened here. This resource was just removed yesterday as part of #7687. It had been around for a long time before that (probably from the beginning of this file), so I'm not sure what triggered getting it re-added. src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java line 342: > 340: {"watch modification of", "{0}.{1}\u306E\u5909\u66F4\u306E\u30A6\u30A9\u30C3\u30C1"}, > 341: {"zz help text", > 342: "** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]] -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup] -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [ | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [ | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u58 31\u3092\u51FA\u529B\u3057\u307E\u3059\neval -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset = -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u305 7\u307E\u3059\n\nthreadgroups -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop [go|thread] [] \n -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n -- \u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u306E\u73FE\u5728\u306E\u30EA\u30B9\u30C8\u304C\u51FA\u529B\u3055\u308C\u307E\u3059\n -- \"go\"\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u505C\u6B62\u5F8C\u3059\u3050\u306B\u518D\u958B\u3057\u307E\u3059\n -- \"thread\"\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\ u505C\u6B62\u3057\u305F\u30B9\u30EC\u30C3\u30C9\u306E\u307F\u4E2D\u65AD\u3057\u307E\u3059\n -- \"go\"\u3082\"thread\"\u3082\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n -- \u6574\u6570\u306E\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u6307\u5B9A\u3055\u308C\u305F\u30B9\u30EC\u30C3\u30C9\u3067\u306E\u307F\u505C\u6B62\u3057\u307E\u3059\n -- \"at\"\u3068\"in\"\u306F\u540C\u3058\u610F\u5473\u3092\u6301\u3061\u307E\u3059\n -- \u306F\u884C\u756A\u53F7\u307E\u305F\u306F\u30E1\u30BD\u30C3\u30C9\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059:\n -- :\n -- .[(argument_type,...)]\nclear .[(argument_type,...)]\n -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear : -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u30A6\u3 0A9\u30C3\u30C1\u3057\u307E\u3059\nunwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u30A6\u30A9\u30C3\u30C1\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\ u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods] -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u 51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [, ... | \"none\"]\n -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread -- \u30B 3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine \n -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3 \u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!! -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\nrepeat -- GDB\u5F62\u5F0F\u306E\u7A7A\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u7E70\u8FD4\u3057\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u304B\u3069\u3046\u304B\u3092\u793A\u3057\u307E\u3059\nrepeat -- GDB\u5F62\u5F0F\u306E\u7E70\u8FD4\u3057\u3092\u6709\u52B9/\u7121\u52B9\u306B\u3057\u307E\u3059\n# -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?) -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u3 07E\u3059\ndbgtrace [flag] -- dbgtrace\u30B3\u30DE\u30F3\u30C9\u30FB\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u540C\u3058\u3067\u3059\nversion -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit) -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u 3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"}, Also as part of #7687 there is a new entry for the `threadgroup` command without any argument. This used to produce the "Threadgroup name not specified" error message which is I mentioned above was removed. It now has supported functionality, so there should be two `threadgroup` entries: "threadgroup -- set current threadgroup to \n" + "threadgroup -- set current threadgroup back to the top level threadgroup\n" + src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java line 305: > 303: {"Thread not suspended", "\u672A\u6302\u8D77\u7EBF\u7A0B"}, > 304: {"thread group number description name", "{0,number,integer}\u3002{1} {2}"}, > 305: {"Threadgroup name not specified.", "\u672A\u6307\u5B9A\u7EBF\u7A0B\u7EC4\u540D\u3002"}, Same comment here as mentioned in TTYResources_ja.java. src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java line 342: > 340: {"watch modification of", "\u76D1\u89C6{0}.{1}\u7684\u4FEE\u6539"}, > 341: {"zz help text", > 342: "** \u547D\u4EE4\u5217\u8868 **\nconnectors -- \u5217\u51FA\u6B64 VM \u4E2D\u53EF\u7528\u7684\u8FDE\u63A5\u5668\u548C\u4F20\u8F93\n\nrun [class [args]] -- \u5F00\u59CB\u6267\u884C\u5E94\u7528\u7A0B\u5E8F\u7684\u4E3B\u7C7B\n\nthreads [threadgroup] -- \u5217\u51FA\u7EBF\u7A0B\nthread -- \u8BBE\u7F6E\u9ED8\u8BA4\u7EBF\u7A0B\nsuspend [thread id(s)] -- \u6302\u8D77\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nresume [thread id(s)] -- \u6062\u590D\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nwhere [ | all] -- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808\nwherei [ | all]-- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808, \u4EE5\u53CA pc \u4FE1\u606F\nup [n frames] -- \u4E0A\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\ndown [n frames] -- \u4E0B\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\nkill -- \u7EC8\u6B62\u5177\u6709\u7ED9\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u5BF9\u8C61\u7684\u7EBF\u7A0B \ninterrupt -- \u4E2D\u65AD\u7EBF\u7A0B\n\nprint -- \u8F93\u51FA\u8868\u8FBE\u5F0F\u7684\u503C\ndump -- \u8F93\u51FA\u6240\u6709\u5BF9\u8C61\u4FE1\u606F\neval -- \u5BF9\u8868\u8FBE\u5F0F\u6C42\u503C (\u4E0E print \u76F8\u540C)\nset = -- \u5411\u5B57\u6BB5/\u53D8\u91CF/\u6570\u7EC4\u5143\u7D20\u5206\u914D\u65B0\u503C\nlocals -- \u8F93\u51FA\u5F53\u524D\u5806\u6808\u5E27\u4E2D\u7684\u6240\u6709\u672C\u5730\u53D8\u91CF\n\nclasses -- \u5217\u51FA\u5F53\u524D\u5DF2\u77E5\u7684\u7C7B\nclass -- \u663E\u793A\u5DF2\u547D\u540D\u7C7B\u7684\u8BE6\u7EC6\u8D44\u6599\nmethods -- \u5217\u51FA\u7C7B\u7684\u65B9\u6CD5\nfields -- \u5217\u51FA\u7C7B\u7684\u5B57\u6BB5\n\nthreadgroups -- \u5217\u51FA\u7EBF\u7A0B\u7EC4\nthreadgroup -- \u8BBE\u7F6E\u5F53\u524D\u7EBF\u7A0B\u7EC4\n\nstop [go| thread] [] \n -- \u8BBE\u7F6E\u65AD\u70B9\n -- \u5982\u679C\u672A\u63D0\u4F9B\u4EFB\u4F55\u9009\u9879\uFF0C\u5219\u5C06\u6253\u5370\u5F53\u524D\u65AD\u70B9\u5217\u8868\n -- \u5982\u679C\u6307\u5B9A \"go\"\uFF0C\u5219\u5728\u505C\u6B62\u540E\u7ACB\u5373\u6062\u590D\n -- \u5982\u679C\u6307\u5B9A \"thread\"\uFF0C\u5219\u4EC5\u6302\u8D77\u5728\u5176\u4E2D\u505C\u6B62\u7684\u7EBF\u7A0B\n -- \u5982\u679C\u65E2\u672A\u6307\u5B9A \"go\" \u4E5F\u672A\u6307\u5B9A \"thread\"\uFF0C\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\n -- \u5982\u679C\u6307\u5B9A\u4EE5\u6574\u6570\u8868\u793A\u7684 \uFF0C\u5219\u4EC5\u5728\u6307\u5B9A\u7684\u7EBF\u7A0B\u4E2D\u505C\u6B62\n -- \"at\" \u548C \"in\" \u7684\u542B\u4E49\u76F8\u540C\n -- \u53EF\u4EE5\u662F\u884C\u53 F7\u6216\u65B9\u6CD5\uFF1A\n -- :\n -- .[(argument_type,...)]\nclear .[(argument_type,...)]\n -- \u6E05\u9664\u65B9\u6CD5\u4E2D\u7684\u65AD\u70B9\nclear : -- \u6E05\u9664\u884C\u4E2D\u7684\u65AD\u70B9\nclear -- \u5217\u51FA\u65AD\u70B9\ncatch [uncaught|caught|all] |\n -- \u51FA\u73B0\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u65F6\u4E2D\u65AD\nignore [uncaught|caught|all] |\n -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF, \u53D6\u6D88 'catch'\nwatch [access|all] .\n -- \u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u8BBF\u95EE/\u4FEE\u6539\nunwatch [access|all] .\n -- \u505C\u6B62\u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u 8BBF\u95EE/\u4FEE\u6539\ntrace [go] methods [thread]\n -- \u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C\u9000\u51FA\u3002\n -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\ntrace [go] method exit | exits [thread]\n -- \u8DDF\u8E2A\u5F53\u524D\u65B9\u6CD5\u7684\u9000\u51FA, \u6216\u8005\u6240\u6709\u65B9\u6CD5\u7684\u9000\u51FA\n -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\nuntrace [methods] -- \u505C\u6B62\u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C/\u6216\u9000\u51FA\nstep -- \u6267\u884C\u5F53\u524D\u884C\nstep up -- \u4E00\u76F4\u6267\u884C, \u76F4\u5230\u5F53\u524D\u65B9\u6CD5\u8FD4\u56DE\u5230\u5176\u8C03\u7528\u65B9\nstepi -- \u6267\u884C\u5F53\u524D\u6307\u4EE4\n\u4E0B\u4E00\u6B65 -- \u6B65\u8FDB\u4E00\u884C (\u6B65\u8FC7\u 8C03\u7528)\ncont -- \u4ECE\u65AD\u70B9\u5904\u7EE7\u7EED\u6267\u884C\n\nlist [line number|method] -- \u8F93\u51FA\u6E90\u4EE3\u7801\nuse (\u6216 sourcepath) [source file path]\n -- \u663E\u793A\u6216\u66F4\u6539\u6E90\u8DEF\u5F84\nexclude [, ... | \"none\"]\n -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u7C7B, \u4E0D\u62A5\u544A\u6B65\u9AA4\u6216\u65B9\u6CD5\u4E8B\u4EF6\nclasspath -- \u4ECE\u76EE\u6807 VM \u8F93\u51FA\u7C7B\u8DEF\u5F84\u4FE1\u606F\n\nmonitor -- \u6BCF\u6B21\u7A0B\u5E8F\u505C\u6B62\u65F6\u6267\u884C\u547D\u4EE4\nmonitor -- \u5217\u51FA\u76D1\u89C6\u5668\nunmonitor -- \u5220\u9664\u76D1\u89C6\u5668\nread -- \u8BFB\u53D6\u5E76\u6267\u884C\u547D\u4EE4\u6587\u4EF6\n\nlock -- \u8F93\u51FA\u5BF9\u8C61\u7684\u9501\u4FE1\u606F\nthreadlocks [thread id] -- \u8F93\u51FA\u7EBF\u7A0B\u7684\u9501 \u4FE1\u606F\n\npop -- \u901A\u8FC7\u5F53\u524D\u5E27\u51FA\u6808, \u4E14\u5305\u542B\u5F53\u524D\u5E27\nreenter -- \u4E0E pop \u76F8\u540C, \u4F46\u91CD\u65B0\u8FDB\u5165\u5F53\u524D\u5E27\nredefine \n -- \u91CD\u65B0\u5B9A\u4E49\u7C7B\u7684\u4EE3\u7801\n\ndisablegc -- \u7981\u6B62\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\nenablegc -- \u5141\u8BB8\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\n\n!! -- \u91CD\u590D\u6267\u884C\u6700\u540E\u4E00\u4E2A\u547D\u4EE4\n -- \u5C06\u547D\u4EE4\u91CD\u590D\u6267\u884C n \u6B21\nrepeat -- \u663E\u793A\u662F\u5426\u542F\u7528\u4E86 GDB \u6837\u5F0F\u7684\u7A7A\u547D\u4EE4\u91CD\u590D\nrepeat -- \u542F\u7528/\u7981\u7528 GDB \u6837\u5F0F\u7684\u91CD\u590D\n# -- \u653E\u5F03 (\u65E0\u64CD\u4F5C)\nhelp (\u6216 ?) -- \u5217\u51FA\u547D\u4EE4\ndbgtrace [flag] -- \u4E0E dbgtrace \u547D\u4EE4\u884C\u9009\u9879\u76F8\u540C\nversion -- \u8F93\u51FA\u7248\u672C\u4FE1\u606F\nexit (\u6216 quit) -- \u9000\u51FA\u8C03\u8BD5\u5668\n\n: \u5E26\u6709\u7A0B\u5E8F\u5305\u9650\u5B9A\u7B26\u7684\u5B8C\u6574\u7C7B\u540D\n: \u5E26\u6709\u524D\u5BFC\u6216\u5C3E\u968F\u901A\u914D\u7B26 ('*') \u7684\u7C7B\u540D\n: 'threads' \u547D\u4EE4\u4E2D\u62A5\u544A\u7684\u7EBF\u7A0B\u7F16\u53F7\n: Java(TM) \u7F16\u7A0B\u8BED\u8A00\u8868\u8FBE\u5F0F\u3002\n\u652F\u6301\u5927\u591A\u6570\u5E38\u89C1\u8BED\u6CD5\u3002\n\n\u53EF\u4EE5\u5C06\u542F\u52A8\u547D\u4EE4\u7F6E\u4E8E \"jdb.ini\" \u6216 \".jdbrc\" \u4E2D\n\u4F4D\u4E8E user.home \u6216 user.dir \u4E2D"}, Same comment here as mentioned in TTYResources_ja.java. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From naoto at openjdk.java.net Thu Mar 10 19:54:44 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Thu, 10 Mar 2022 19:54:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 17:55:44 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > moved CurrencyNames changes to jdk.localedata src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_de.properties line 63: > 61: # written authorization of the copyright holder. > 62: > 63: ADP=ADP No need for these lines in each localized files, as English bundle contains them. src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_ja.properties line 63: > 61: # written authorization of the copyright holder. > 62: > 63: ADP=ADP Same here with `de` bundle. src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_zh_CN.properties line 63: > 61: # written authorization of the copyright holder. > 62: > 63: ADP=ADP and here. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From mcimadamore at openjdk.java.net Thu Mar 10 22:05:47 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 10 Mar 2022 22:05:47 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. Question - what happens if you have: class A { void m() { ... } // THIS IS PREVIEW } class B extends A { void m() { ... } // override, ok, classfile polluted } class C extends B { void m() { ... } // ? } My understanding is that C will also get a pollute classfile version - but not because of the override (because javac cannot see that the method being overriden is, in turn, the override of another preview method deep down); instead, I believe C get warning/polluted classfile because it's using B, which has a polluted classfile. But what if both B and C are compiled together? ------------- PR: https://git.openjdk.java.net/jdk/pull/7774 From forax at univ-mlv.fr Thu Mar 10 22:20:45 2022 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 10 Mar 2022 23:20:45 +0100 (CET) Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: <935643164.14622512.1646950845646.JavaMail.zimbra@u-pem.fr> ----- Original Message ----- > From: "Jan Lahoda" > To: "compiler-dev" > Sent: Thursday, March 10, 2022 1:36:09 PM > Subject: RFR: 8282823: javac should constrain more uses of preview APIs Hi Jan, > Consider a class or interface with a method marked as preview. Subclassing the > class or implementing the interface by itself should not cause a preview > error/warning (as that would be problematic for Loom), but overriding the > method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. I don't think you can do that because it means that the view at compile time and the view at runtime now disagree. >From the VM POW, a class is in preview mode or not, if a class contains a preview method, this class is marked as in preview mode, so even if javac allows the compilation, it will not work at runtime. R?mi From alex.buckley at oracle.com Thu Mar 10 23:04:16 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Mar 2022 15:04:16 -0800 Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: <96fab0a0-279b-3360-a10a-fe3ad4ef8167@oracle.com> On 3/10/2022 2:05 PM, Maurizio Cimadamore wrote: > On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > >> Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. >> >> This patch adds the error/warning in case a preview method is overridden. > > Question - what happens if you have: > > class A { > void m() { ... } // THIS IS PREVIEW > } > > class B extends A { > void m() { ... } // override, ok, classfile polluted > } > > class C extends B { > void m() { ... } // ? > } > > > My understanding is that C will also get a pollute classfile version - but not because of the override (because javac cannot see that the method being overriden is, in turn, the override of another preview method deep down); instead, I believe C get warning/polluted classfile because it's using B, which has a polluted classfile. But what if both B and C are compiled together? B is like a class X that uses a preview language feature somewhere in its declaration. The use of a preview language feature poisons X.class, but other classes can refer to X (and yet more classes can refer to them...) without being poisoned themselves. A large program that uses X deep down might be able to run for a long time even with preview features disabled; only when the program triggers loading of X will the VM complain. B uses a preview API (overrides a preview method) but is not a preview API itself, so C can refer to B without getting poisoned. Of course, C's particular use of B (`extends`) means that loading C causes loading of B and then you'd better have --enable-preview -- but other uses of B are possible that would let C load and run without --enable-preview. Alex From alex.buckley at oracle.com Thu Mar 10 23:19:50 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Mar 2022 15:19:50 -0800 Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: <935643164.14622512.1646950845646.JavaMail.zimbra@u-pem.fr> References: <935643164.14622512.1646950845646.JavaMail.zimbra@u-pem.fr> Message-ID: <4ae13a54-5fe8-0561-ff2c-6abd6c3f2a31@oracle.com> On 3/10/2022 2:20 PM, Remi Forax wrote: >> Consider a class or interface with a method marked as preview. Subclassing the >> class or implementing the interface by itself should not cause a preview >> error/warning (as that would be problematic for Loom), but overriding the >> method should produce a preview error/warning. >> >> This patch adds the error/warning in case a preview method is overridden. > > I don't think you can do that because it means that the view at compile time and the view at runtime now disagree. > > From the VM POW, a class is in preview mode or not, if a class contains a preview method, this class is marked as in preview mode, > so even if javac allows the compilation, it will not work at runtime. I know what you mean, but the Thread class itself is not a preview API and Thread.class is not poisoned. Ordinary code that refers to Thread (e.g., to extend it, or to call its traditional methods) will compile and run without preview warnings/errors. Code that tries out Loom by referring to preview methods in Thread (e.g., Thread::ofVirtual) will require --enable-preview at compile time. The class files generated for such code will get poisoned, and require --enable-preview at run time. Alex From mcimadamore at openjdk.java.net Fri Mar 11 11:30:42 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 11 Mar 2022 11:30:42 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: <37O62uSbvIb7ArJuYiet6CBn1J4yDqMwGHL6-pHmND4=.ebf5ccc2-1518-41c6-85be-39d423dd0b4c@github.com> On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. If the goal is (as it seems) to detect first override of a preview method, then these changes look good. Thanks Alex for the clarification. ------------- Marked as reviewed by mcimadamore (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7774 From forax at univ-mlv.fr Fri Mar 11 13:03:34 2022 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Fri, 11 Mar 2022 14:03:34 +0100 (CET) Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: <4ae13a54-5fe8-0561-ff2c-6abd6c3f2a31@oracle.com> References: <935643164.14622512.1646950845646.JavaMail.zimbra@u-pem.fr> <4ae13a54-5fe8-0561-ff2c-6abd6c3f2a31@oracle.com> Message-ID: <706505078.15061023.1647003814365.JavaMail.zimbra@u-pem.fr> ----- Original Message ----- > From: "Alex Buckley" > To: "Remi Forax" , "Jan Lahoda" > Cc: "compiler-dev" > Sent: Friday, March 11, 2022 12:19:50 AM > Subject: Re: RFR: 8282823: javac should constrain more uses of preview APIs > On 3/10/2022 2:20 PM, Remi Forax wrote: >>> Consider a class or interface with a method marked as preview. Subclassing the >>> class or implementing the interface by itself should not cause a preview >>> error/warning (as that would be problematic for Loom), but overriding the >>> method should produce a preview error/warning. >>> >>> This patch adds the error/warning in case a preview method is overridden. >> >> I don't think you can do that because it means that the view at compile time and >> the view at runtime now disagree. >> >> From the VM POW, a class is in preview mode or not, if a class contains a >> preview method, this class is marked as in preview mode, >> so even if javac allows the compilation, it will not work at runtime. > > I know what you mean, but the Thread class itself is not a preview API > and Thread.class is not poisoned. Ordinary code that refers to Thread > (e.g., to extend it, or to call its traditional methods) will compile > and run without preview warnings/errors. > > Code that tries out Loom by referring to preview methods in Thread > (e.g., Thread::ofVirtual) will require --enable-preview at compile time. > The class files generated for such code will get poisoned, and require > --enable-preview at run time. Thanx, i've taken a look to the generated bytecode, the new methods are tagged with ?Feature.VIRTUAL_THREADS but java.lang.Thread is not itself compiled with --enable-preview. > > Alex R?mi From weijun at openjdk.java.net Fri Mar 11 15:32:52 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Fri, 11 Mar 2022 15:32:52 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 17:55:44 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > moved CurrencyNames changes to jdk.localedata The security related changes look fine, except for the year 2021. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From vromero at openjdk.java.net Fri Mar 11 17:14:42 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Fri, 11 Mar 2022 17:14:42 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. lgtm ------------- Marked as reviewed by vromero (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7774 From vicente.romero at oracle.com Fri Mar 11 22:40:30 2022 From: vicente.romero at oracle.com (Vicente Romero) Date: Fri, 11 Mar 2022 17:40:30 -0500 Subject: Commenting and voting on JDK-8152289 In-Reply-To: References: Message-ID: Hi Joel, I was checking the github entry you posted below [1] and I see two things: ?- users are complaining about performance when moving from JDK 8 - JDK 11 ?- it is mentioned that assertj uses a lot of overloads Bug [2] is there since 8 so I don't think it is the cause and also the bug is not related to overload resolution, I know that it could be difficult but could you isolate a test case or at least a small project that shows the issue you have? Thanks, Vicente [1] https://github.com/assertj/assertj-core/issues/2385 [2] https://bugs.openjdk.java.net/browse/JDK-8152289 On 2/28/22 20:02, Joel Costigliola wrote: > Hi, > > I'm one of the core maintainer of AssertJ > , the > https://github.com/assertj/assertj-core/issues/2385 issue is about > slow compile time and might be related to > https://bugs.openjdk.java.net/browse/JDK-8152289. > > I wanted to vote for JDK-8152289 and add a comment to raise awareness > that it possibly impacts AssertJ users, but I could not do that and > it's not clear what I need to do to be able to. > > Could you add the comment on my behalf or tell me how to comment on > issues? > > Kind regards, > > Joel Costigliola -------------- next part -------------- An HTML attachment was scrubbed... URL: From achung at openjdk.java.net Mon Mar 14 16:41:48 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Mon, 14 Mar 2022 16:41:48 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: <8cpPZ7PatfiigWBze5jL-LUXa6urMiCgdhpm1otQHhA=.1862cf26-296b-438e-acfe-2a83b64dc539@github.com> References: <8cpPZ7PatfiigWBze5jL-LUXa6urMiCgdhpm1otQHhA=.1862cf26-296b-438e-acfe-2a83b64dc539@github.com> Message-ID: On Thu, 10 Mar 2022 18:56:41 GMT, Chris Plummer wrote: >> Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: >> >> moved CurrencyNames changes to jdk.localedata > > src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java line 305: > >> 303: {"Thread not suspended", "\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u3066\u3044\u307E\u305B\u3093"}, >> 304: {"thread group number description name", "{0,number,integer}. {1} {2}"}, >> 305: {"Threadgroup name not specified.", "\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, > > I'm not sure what happened here. This resource was just removed yesterday as part of #7687. It had been around for a long time before that (probably from the beginning of this file), so I'm not sure what triggered getting it re-added. The translation was started before the updates to this file. This update can be done in the next msg drop. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From kizune at openjdk.java.net Mon Mar 14 17:41:55 2022 From: kizune at openjdk.java.net (Alexander Zuev) Date: Mon, 14 Mar 2022 17:41:55 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v2] In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 17:55:44 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > moved CurrencyNames changes to jdk.localedata Marked as reviewed by kizune (Reviewer). Clientlibs related stuff looks correct. ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From valeriep at openjdk.java.net Mon Mar 14 20:08:31 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Mon, 14 Mar 2022 20:08:31 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Update again and undo DSA changes ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/f728aa7d..48f562ab Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=03-04 Stats: 45 lines in 9 files changed: 8 ins; 2 del; 35 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From jlahoda at openjdk.java.net Mon Mar 14 20:19:17 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Mon, 14 Mar 2022 20:19:17 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs In-Reply-To: References: Message-ID: On Thu, 10 Mar 2022 12:28:27 GMT, Jan Lahoda wrote: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. After a more detailed discussion, I've updated the patch in [3b8ac12](https://github.com/openjdk/jdk/pull/7774/commits/3b8ac122710e685b541b981fed9cbacf7a6027a7) to only report the error/warnings for the immediate overriders of the preview method, not all transitive overriders as before. This is a bit tricky, so the check is done using `Types.membersClosure` - the first method that the current method overrides must be the preview method, or no warning is produced. Tests are also extended to cover these cases. ------------- PR: https://git.openjdk.java.net/jdk/pull/7774 From jlahoda at openjdk.java.net Mon Mar 14 20:19:16 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Mon, 14 Mar 2022 20:19:16 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs [v2] In-Reply-To: References: Message-ID: > Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. > > This patch adds the error/warning in case a preview method is overridden. Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision: Only produce preview warnings for immediate overriders of preview methods. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7774/files - new: https://git.openjdk.java.net/jdk/pull/7774/files/a16300ad..3b8ac122 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7774&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7774&range=00-01 Stats: 177 lines in 3 files changed: 151 ins; 1 del; 25 mod Patch: https://git.openjdk.java.net/jdk/pull/7774.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7774/head:pull/7774 PR: https://git.openjdk.java.net/jdk/pull/7774 From achung at openjdk.java.net Mon Mar 14 20:39:46 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Mon, 14 Mar 2022 20:39:46 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v3] In-Reply-To: References: Message-ID: > msg drop for jdk19, Mar 9, 2022 Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: removed repeated lines from ROOT bundle in CurrencyNames ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7765/files - new: https://git.openjdk.java.net/jdk/pull/7765/files/4735722d..d5c9b884 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=01-02 Stats: 675 lines in 3 files changed: 0 ins; 675 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7765.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7765/head:pull/7765 PR: https://git.openjdk.java.net/jdk/pull/7765 From weijun at openjdk.java.net Mon Mar 14 21:30:46 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Mon, 14 Mar 2022 21:30:46 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 20:08:31 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Update again and undo DSA changes Some small comments. Otherwise looks fine. src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java line 121: > 119: v = max; > 120: } > 121: } catch (NullPointerException | NoSuchAlgorithmException ne) { There is no need to mention NPE. src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java line 101: > 99: // set default key sizes and apply our own algorithm-specific limits > 100: // override lower limit to disallow unsecure keys being generated > 101: // override upper limit to deter DOS attack No a P11 expert, but I assume `algorithm` here is already guaranteed to be in uppercase? src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java line 122: > 120: default -> { > 121: throw new ProviderException > 122: ("Unrecognized algorithm for checking key size"); If it's an unknown key algorithm, is it possible we just ignore it and keep using `minKeyLen` and `maxKeyLen`? ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From naoto at openjdk.java.net Mon Mar 14 21:58:45 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Mon, 14 Mar 2022 21:58:45 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v3] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 20:39:46 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > removed repeated lines from ROOT bundle in CurrencyNames src/jdk.compiler/share/classes/com/sun/tools/javac/resources/ct_ja.properties line 1: > 1: # The change to this file (moving ct.properties to ct_ja.properties) does look suspicious. Looks like this is not a translation file, but some kind of a configuration for `javac`. If so, it should not be translated (and translation configuration in the closed repository should exclude this file) ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From valeriep at openjdk.java.net Tue Mar 15 01:47:51 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Tue, 15 Mar 2022 01:47:51 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 21:08:30 GMT, Weijun Wang wrote: >> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: >> >> Update again and undo DSA changes > > src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java line 121: > >> 119: v = max; >> 120: } >> 121: } catch (NullPointerException | NoSuchAlgorithmException ne) { > > There is no need to mention NPE. Sure. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From mcimadamore at openjdk.java.net Tue Mar 15 10:41:47 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 15 Mar 2022 10:41:47 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs [v2] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 20:19:16 GMT, Jan Lahoda wrote: >> Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. >> >> This patch adds the error/warning in case a preview method is overridden. > > Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision: > > Only produce preview warnings for immediate overriders of preview methods. Logic looks good. Note that `membersClosure` is memory hungry - although here you are only (correctly) only calling it when there is some preview method around, so I think that's acceptable. src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java line 1912: > 1910: if (m.owner != origin || > 1911: //performance - only do the expensive checks when the overridden method is a Preview API: > 1912: (other.flags() & PREVIEW_API) == 0) { indentation seems off here - e.g. I'd expect double "tab" in the second line of the `if` condition? src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java line 1918: > 1916: for (Symbol s : types.membersClosure(origin.type, false).getSymbolsByName(m.name)) { > 1917: if (m != s && m.overrides(s, origin, types, false)) { > 1918: //only check if the preview only if "m" immediatelly overrides "other" This comments seems to be off ------------- Marked as reviewed by mcimadamore (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7774 From valeriep at openjdk.java.net Tue Mar 15 20:40:45 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Tue, 15 Mar 2022 20:40:45 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 21:18:56 GMT, Weijun Wang wrote: >> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: >> >> Update again and undo DSA changes > > src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java line 101: > >> 99: // set default key sizes and apply our own algorithm-specific limits >> 100: // override lower limit to disallow unsecure keys being generated >> 101: // override upper limit to deter DOS attack > > Not a P11 expert, but I assume `algorithm` here is already guaranteed to be in uppercase? Yes, for P11KeyPairGenerator, its algorithm values are all in uppercase. I verified it with an existing regression test. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From valeriep at openjdk.java.net Tue Mar 15 20:47:47 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Tue, 15 Mar 2022 20:47:47 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: On Mon, 14 Mar 2022 21:24:15 GMT, Weijun Wang wrote: >> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: >> >> Update again and undo DSA changes > > src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java line 122: > >> 120: default -> { >> 121: throw new ProviderException >> 122: ("Unrecognized algorithm for checking key size"); > > If it's an unknown key algorithm, is it possible we just ignore it and keep using `minKeyLen` and `maxKeyLen`? Well, instead of ignore unknown key algorithm, perhaps safer to throw Exception so it can be caught and handled during develop time. P11KeyPairGenerator class is only used for known algorithms which it is registered for, so probably ok to go either way. I'd prefer to play it safe and force a review of this block of code when new algorithm is added. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From valeriep at openjdk.java.net Tue Mar 15 20:51:25 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Tue, 15 Mar 2022 20:51:25 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v6] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Removed NPE from the catch statement. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/48f562ab..c8ae1655 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=05 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=04-05 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From darcy at openjdk.java.net Tue Mar 15 23:27:43 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Tue, 15 Mar 2022 23:27:43 GMT Subject: RFR: 8282823: javac should constrain more uses of preview APIs [v2] In-Reply-To: References: Message-ID: <5egdCBsb6AqRFpkPjfWTDFk6Csuo9BeVUsH9GaX54C4=.c44fcd62-83e0-4319-a69c-6b5eba0eb825@github.com> On Mon, 14 Mar 2022 20:19:16 GMT, Jan Lahoda wrote: >> Consider a class or interface with a method marked as preview. Subclassing the class or implementing the interface by itself should not cause a preview error/warning (as that would be problematic for Loom), but overriding the method should produce a preview error/warning. >> >> This patch adds the error/warning in case a preview method is overridden. > > Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision: > > Only produce preview warnings for immediate overriders of preview methods. Please file a CSR for the behave change under discussion. Thanks. ------------- PR: https://git.openjdk.java.net/jdk/pull/7774 From ihse at openjdk.java.net Tue Mar 15 23:50:22 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Tue, 15 Mar 2022 23:50:22 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v5] In-Reply-To: References: Message-ID: On Mon, 18 Jan 2021 13:47:20 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Move characterdata templates to share/classes/java/lang. This PR was almost ready to merge, but unfortunately got closed about a year ago when I disappeared on medical leave. :-( I've been putting off coming back to to this, worried that the merge conflicts would be bad. But no! Git handled the merge fantastically well; the default merge mode even realized that new files in a directory which had been moved elsewhere should probably also be moved to the same place. I was pleasantly surprised how easy this was. Nevertheless, I have carefully studied the automatic merge for any signs or mistakes. I only found one: a single renamed file (blacklist -> blocked) that it failed to match. So I believe this PR is back in the same integrateable state that it was when I left it. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Tue Mar 15 23:50:20 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Tue, 15 Mar 2022 23:50:20 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: - Merge branch 'master' into shuffle-data-reborn - Fix merge - Merge tag 'jdk-19+13' into shuffle-data-reborn Added tag jdk-19+13 for changeset 5df2a057 - Move characterdata templates to share/classes/java/lang. - Update comment refering to "make" dir - Move new symbols to jdk.compiler - Merge branch 'master' into shuffle-data - Move macosxicons from share to macosx - Move to share/data, and move jdwp.spec to java.se - Update references in test - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f ------------- Changes: https://git.openjdk.java.net/jdk/pull/1611/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=05 Stats: 85 lines in 1695 files changed: 4 ins; 1 del; 80 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Tue Mar 15 23:59:55 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Tue, 15 Mar 2022 23:59:55 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: > > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - Merge tag 'jdk-19+13' into shuffle-data-reborn > > Added tag jdk-19+13 for changeset 5df2a057 > - Move characterdata templates to share/classes/java/lang. > - Update comment refering to "make" dir > - Move new symbols to jdk.compiler > - Merge branch 'master' into shuffle-data > - Move macosxicons from share to macosx > - Move to share/data, and move jdwp.spec to java.se > - Update references in test > - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f I have carefully reviewed all PR comments, and the changes I made in response to them. I believe I have resolved all requests from reviewers. What remained to do was to create an informational JEP about the new source structure, and file some follow-up issues. I have now created and submitted a new informational JEP ("JDK Source Structure"), available at https://bugs.openjdk.java.net/browse/JDK-8283227. When creating this JEP, it felt increasingly silly to just copy and extend the part about src/$MODULE from JEP 201, so I extended it to cover a relevant overview of the entire JDK source base structure. I actually think this JEP has a good merit on its own, notwithstanding it being a reviewer requirement for this PR. I have also filed follow up issues for the non-standard jdk.hotspot.agent `doc` and `test` directories (https://bugs.openjdk.java.net/browse/JDK-8283197 and https://bugs.openjdk.java.net/browse/JDK-8283198, respectively). I have filed a follow up issue for continued efforts to clean up charsetmapping, https://bugs.openjdk.java.net/browse/JDK-8283228. There were two open questions: * should jdwp.spec belong to specs directory instead of data * should bin/idea.sh be changed to exclude data but they sounded so exploratory that I decided not to open JBS issues for them. @wangweij @naotoj @prrace @erikj79 @jonathan-gibbons You have all approved this PR at an older revision. Can you please reconfirm that your approval stands for the latest revision? (Sorry for the mass ping) ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From weijun at openjdk.java.net Wed Mar 16 00:16:50 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Wed, 16 Mar 2022 00:16:50 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v5] In-Reply-To: References: Message-ID: <5LsStIDKZnRP4PyIE5dShT-XezKK-91XEglZ99DypvQ=.b9b15bd7-b7c0-4923-a26c-dc4ad331c757@github.com> On Tue, 15 Mar 2022 20:44:20 GMT, Valerie Peng wrote: >> src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java line 122: >> >>> 120: default -> { >>> 121: throw new ProviderException >>> 122: ("Unrecognized algorithm for checking key size"); >> >> If it's an unknown key algorithm, is it possible we just ignore it and keep using `minKeyLen` and `maxKeyLen`? > > Well, instead of ignore unknown key algorithm, perhaps safer to throw Exception so it can be caught and handled during develop time. P11KeyPairGenerator class is only used for known algorithms which it is registered for, so probably ok to go either way. I'd prefer to play it safe and force a review of this block of code when new algorithm is added. OK. ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From valeriep at openjdk.java.net Wed Mar 16 00:33:43 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Wed, 16 Mar 2022 00:33:43 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v6] In-Reply-To: References: Message-ID: <6V_3NdKeibCcMiNw0PQEzKU-fhEytrR08Ckb_taEXkM=.c4af0ad3-697f-4515-bc66-42899ec68cb6@github.com> On Tue, 15 Mar 2022 20:51:25 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Removed NPE from the catch statement. Could you please please review CSR at: https://bugs.openjdk.java.net/browse/JDK-8282995 Thanks! ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From Alan.Bateman at oracle.com Wed Mar 16 06:31:24 2022 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Mar 2022 06:31:24 +0000 Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: <4dd8052d-b376-ef82-0dfd-ccaf0297a27c@oracle.com> Magnus, This proposal does not address the previous concerns. As before, you are proposing to put the data files used to generate the classes for jdk.localedata and jdk.charsets into src/java.base and I don't think we should do that. I really think this PR needs to be withdraw n or closed until there is at least some agreement on placement. I know you want to get the files moved out of the make tree but there are many issues to work through before that can happen. -Alan On 15/03/2022 23:59, Magnus Ihse Bursie wrote: > On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie wrote: > >>> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >>> >>> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >>> >>> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >>> >>> ### Modules reviewed >>> >>> - [x] java.base >>> - [x] java.desktop >>> - [x] jdk.compiler >>> - [x] java.se >> Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - Merge branch 'master' into shuffle-data-reborn >> - Fix merge >> - Merge tag 'jdk-19+13' into shuffle-data-reborn >> >> Added tag jdk-19+13 for changeset 5df2a057 >> - Move characterdata templates to share/classes/java/lang. >> - Update comment refering to "make" dir >> - Move new symbols to jdk.compiler >> - Merge branch 'master' into shuffle-data >> - Move macosxicons from share to macosx >> - Move to share/data, and move jdwp.spec to java.se >> - Update references in test >> - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f > I have carefully reviewed all PR comments, and the changes I made in response to them. I believe I have resolved all requests from reviewers. What remained to do was to create an informational JEP about the new source structure, and file some follow-up issues. > > I have now created and submitted a new informational JEP ("JDK Source Structure"), available at https://bugs.openjdk.java.net/browse/JDK-8283227. When creating this JEP, it felt increasingly silly to just copy and extend the part about src/$MODULE from JEP 201, so I extended it to cover a relevant overview of the entire JDK source base structure. I actually think this JEP has a good merit on its own, notwithstanding it being a reviewer requirement for this PR. > > I have also filed follow up issues for the non-standard jdk.hotspot.agent `doc` and `test` directories (https://bugs.openjdk.java.net/browse/JDK-8283197 and https://bugs.openjdk.java.net/browse/JDK-8283198, respectively). > > I have filed a follow up issue for continued efforts to clean up charsetmapping, https://bugs.openjdk.java.net/browse/JDK-8283228. > > There were two open questions: > > * should jdwp.spec belong to specs directory instead of data > * should bin/idea.sh be changed to exclude data > > but they sounded so exploratory that I decided not to open JBS issues for them. > > @wangweij @naotoj @prrace @erikj79 @jonathan-gibbons You have all approved this PR at an older revision. Can you please reconfirm that your approval stands for the latest revision? (Sorry for the mass ping) > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/1611 From magnus.ihse.bursie at oracle.com Wed Mar 16 08:44:51 2022 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 16 Mar 2022 09:44:51 +0100 Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: <4dd8052d-b376-ef82-0dfd-ccaf0297a27c@oracle.com> References: <4dd8052d-b376-ef82-0dfd-ccaf0297a27c@oracle.com> Message-ID: <47cf38cc-2a72-0e2e-f626-707dd8cd4434@oracle.com> On 2022-03-16 07:31, Alan Bateman wrote: > Magnus, > > This proposal does not address the previous concerns. As before, you > are proposing to put the data files used to generate the classes for > jdk.localedata and jdk.charsets into src/java.base and I don't think > we should do that. I really think this PR needs to be withdraw n or > closed until there is at least some agreement on placement. I know you > want to get the files moved out of the make tree but there are many > issues to work through before that can happen. I'm sorry that you feel I did not properly address your concerns. You wrote: "If you are moving them into the src tree then src/java.base (as you have it) is best but will still have the ugly wart that some of these mapping tables will be used to generate code for the jdk.charsets module." which I interpreted as a need to file a follow-up issue to sort that out, not a veto on the entire PR. If you have such strong opinions on the data files shared between java.base and jdk.charsets/jdk.localedata, I propose we leave them in make/data for the time being, clean up the associated mess, and then work out where they actually should be. Does that sound okay to you? /Magnus > > -Alan > > On 15/03/2022 23:59, Magnus Ihse Bursie wrote: >> On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie >> wrote: >> >>>> A lot (but not all) of the data in make/data is tied to a specific >>>> module. For instance, the publicsuffixlist is used by java.base, >>>> and fontconfig by java.desktop. (A few directories, like >>>> mainmanifest, is *actually* used by make for the whole build.) >>>> >>>> These data files should move to the module they belong to. The are, >>>> after all, "source code" for that module that is "compiler" into >>>> resulting deliverables, for that module. (But the "source code" >>>> language is not Java or C, but typically a highly domain specific >>>> language or data format, and the "compilation" is, often, a >>>> specialized transformation.) >>>> >>>> This misplacement of the data directory is most visible at code >>>> review time. When such data is changed, most of the time build-dev >>>> (or the new build label) is involved, even though this has nothing >>>> to do with the build. While this is annoying, a worse problem is if >>>> the actual team that needs to review the patch (i.e., the team >>>> owning the module) is missed in the review. >>>> >>>> ### Modules reviewed >>>> >>>> - [x] java.base >>>> - [x] java.desktop >>>> - [x] jdk.compiler >>>> - [x] java.se >>> Magnus Ihse Bursie has updated the pull request with a new target >>> base due to a merge or a rebase. The pull request now contains 12 >>> commits: >>> >>> ? - Merge branch 'master' into shuffle-data-reborn >>> ? - Fix merge >>> ? - Merge tag 'jdk-19+13' into shuffle-data-reborn >>> ??? ??? Added tag jdk-19+13 for changeset 5df2a057 >>> ? - Move characterdata templates to share/classes/java/lang. >>> ? - Update comment refering to "make" dir >>> ? - Move new symbols to jdk.compiler >>> ? - Merge branch 'master' into shuffle-data >>> ? - Move macosxicons from share to macosx >>> ? - Move to share/data, and move jdwp.spec to java.se >>> ? - Update references in test >>> ? - ... and 2 more: >>> https://git.openjdk.java.net/jdk/compare/83d77186...598f740f >> I have carefully reviewed all PR comments, and the changes I made in >> response to them. I believe I have resolved all requests from >> reviewers. What remained to do was to create an informational JEP >> about the new source structure, and file some follow-up issues. >> >> I have now created and submitted a new informational JEP ("JDK Source >> Structure"), available at >> https://bugs.openjdk.java.net/browse/JDK-8283227. When creating this >> JEP, it felt increasingly silly to just copy and extend the part >> about src/$MODULE from JEP 201, so I extended it to cover a relevant >> overview of the entire JDK source base structure. I actually think >> this JEP has a good merit on its own, notwithstanding it being a >> reviewer requirement for this PR. >> >> I have also filed follow up issues for the non-standard >> jdk.hotspot.agent `doc` and `test` directories >> (https://bugs.openjdk.java.net/browse/JDK-8283197 and >> https://bugs.openjdk.java.net/browse/JDK-8283198, respectively). >> >> I have filed a follow up issue for continued efforts to clean up >> charsetmapping, https://bugs.openjdk.java.net/browse/JDK-8283228. >> >> There were two open questions: >> >> ? * should jdwp.spec belong to specs directory instead of data >> ? * should bin/idea.sh be changed to exclude data >> >> but they sounded so exploratory that I decided not to open JBS issues >> for them. >> >> @wangweij? @naotoj? @prrace? @erikj79 @jonathan-gibbons? You have all >> approved this PR at an older revision. Can you please reconfirm that >> your approval stands for the latest revision? (Sorry for the mass ping) >> >> ------------- >> >> PR: https://git.openjdk.java.net/jdk/pull/1611 > From prr at openjdk.java.net Wed Mar 16 17:19:57 2022 From: prr at openjdk.java.net (Phil Race) Date: Wed, 16 Mar 2022 17:19:57 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: <_XwD8h3_L03wqvO0Na4_OoHwtdYInzjTKsOaFvqKfUY=.47ccb949-e5fe-49bb-b4b8-3bc36676910a@github.com> On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: > > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - Merge tag 'jdk-19+13' into shuffle-data-reborn > > Added tag jdk-19+13 for changeset 5df2a057 > - Move characterdata templates to share/classes/java/lang. > - Update comment refering to "make" dir > - Move new symbols to jdk.compiler > - Merge branch 'master' into shuffle-data > - Move macosxicons from share to macosx > - Move to share/data, and move jdwp.spec to java.se > - Update references in test > - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f How are folks reviewing this huge PR ? My browser paints a few files and that's it, and the drop down list to "jump to" is too big to display - it says ! ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From achung at openjdk.java.net Wed Mar 16 18:31:55 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Wed, 16 Mar 2022 18:31:55 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v4] In-Reply-To: References: Message-ID: > msg drop for jdk19, Mar 9, 2022 Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: removed incorrect translation of compiler configuration file ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7765/files - new: https://git.openjdk.java.net/jdk/pull/7765/files/d5c9b884..715a6ad7 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7765&range=02-03 Stats: 2310 lines in 3 files changed: 0 ins; 2310 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7765.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7765/head:pull/7765 PR: https://git.openjdk.java.net/jdk/pull/7765 From ihse at openjdk.java.net Wed Mar 16 19:10:03 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Wed, 16 Mar 2022 19:10:03 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: > > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - Merge tag 'jdk-19+13' into shuffle-data-reborn > > Added tag jdk-19+13 for changeset 5df2a057 > - Move characterdata templates to share/classes/java/lang. > - Update comment refering to "make" dir > - Move new symbols to jdk.compiler > - Merge branch 'master' into shuffle-data > - Move macosxicons from share to macosx > - Move to share/data, and move jdwp.spec to java.se > - Update references in test > - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f It might be helpful to go to the webrev instead: https://openjdk.github.io/cr/?repo=jdk&pr=1611&range=05 Only the first dozen or so of files has actual changes; the rest are moved files. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From Alan.Bateman at oracle.com Wed Mar 16 19:53:11 2022 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Mar 2022 19:53:11 +0000 Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: <47cf38cc-2a72-0e2e-f626-707dd8cd4434@oracle.com> References: <4dd8052d-b376-ef82-0dfd-ccaf0297a27c@oracle.com> <47cf38cc-2a72-0e2e-f626-707dd8cd4434@oracle.com> Message-ID: <1ffca295-1c99-300e-1ac5-f81c51d8ef9b@oracle.com> On 16/03/2022 08:44, Magnus Ihse Bursie wrote: > : > > If you have such strong opinions on the data files shared between > java.base and jdk.charsets/jdk.localedata, I propose we leave them in > make/data for the time being, clean up the associated mess, and then > work out where they actually should be. Does that sound okay to you? The concern, as before, is that it puts data files into src/java.base that are used by the build to generate classes/resources for the service provider modules.? We also have the complication that the charsets to include in java.base varies by platform so the module/package for each charset is decided at build time. It's always been low-priority to re-visit that and not clear if we could even get to an agreement easily because there are IBM platforms that want EBCDIC and other double byte charsets whereas other platforms don't want these in java.base. So yes, if you can drop the move of the charset data and CLDR data from the patch then it will make it easier to discuss. You asked about the JDWP spec. This is the protocol spec that is used to generate the spec in HTML, and source files for the debugger front-end and backend (jdk.jdi and jdk.jdwp.agent modules). The "specs" directory might be right. There is another source file (jdwp-spec.md) that isn't in the src tree right now and they probably go together. -Alan From naoto at openjdk.java.net Wed Mar 16 21:39:02 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Wed, 16 Mar 2022 21:39:02 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: On Tue, 15 Mar 2022 23:50:20 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: > > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - Merge tag 'jdk-19+13' into shuffle-data-reborn > > Added tag jdk-19+13 for changeset 5df2a057 > - Move characterdata templates to share/classes/java/lang. > - Update comment refering to "make" dir > - Move new symbols to jdk.compiler > - Merge branch 'master' into shuffle-data > - Move macosxicons from share to macosx > - Move to share/data, and move jdwp.spec to java.se > - Update references in test > - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f Looks good, with minor comments. Also I am assuming you will modify the copyright year for these files before the merge. make/modules/jdk.charsets/Gensrc.gmk line 32: > 30: # Generate files using the charsetmapping tool > 31: # > 32: CHARSET_DATA_DIR := $(TOPDIR)/src/java.base/share/data/charsetmapping Is it intentional to leave `java.base` literal here, or should it be replaced with `$(MODULE_SRC)`? I see this inconsistency in other tools' `gensrc.gmk` too ------------- Marked as reviewed by naoto (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1611 From naoto at openjdk.java.net Wed Mar 16 21:40:44 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Wed, 16 Mar 2022 21:40:44 GMT Subject: RFR: 8280400: JDK 19 L10n resource files update - msgdrop 10 [v4] In-Reply-To: References: Message-ID: On Wed, 16 Mar 2022 18:31:55 GMT, Alisen Chung wrote: >> msg drop for jdk19, Mar 9, 2022 > > Alisen Chung has updated the pull request incrementally with one additional commit since the last revision: > > removed incorrect translation of compiler configuration file LGTM. Thanks for the change. ------------- Marked as reviewed by naoto (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7765 From ihse at openjdk.java.net Wed Mar 16 22:00:02 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Wed, 16 Mar 2022 22:00:02 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: On Wed, 16 Mar 2022 21:31:08 GMT, Naoto Sato wrote: >> Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - Merge branch 'master' into shuffle-data-reborn >> - Fix merge >> - Merge tag 'jdk-19+13' into shuffle-data-reborn >> >> Added tag jdk-19+13 for changeset 5df2a057 >> - Move characterdata templates to share/classes/java/lang. >> - Update comment refering to "make" dir >> - Move new symbols to jdk.compiler >> - Merge branch 'master' into shuffle-data >> - Move macosxicons from share to macosx >> - Move to share/data, and move jdwp.spec to java.se >> - Update references in test >> - ... and 2 more: https://git.openjdk.java.net/jdk/compare/83d77186...598f740f > > make/modules/jdk.charsets/Gensrc.gmk line 32: > >> 30: # Generate files using the charsetmapping tool >> 31: # >> 32: CHARSET_DATA_DIR := $(TOPDIR)/src/java.base/share/data/charsetmapping > > Is it intentional to leave `java.base` literal here, or should it be replaced with `$(MODULE_SRC)`? I see this inconsistency in other tools' `gensrc.gmk` too This is part of the weirdness of charsetmapping that Alan talks about. The charsetmapping data is shared between java.base and jdk.charsets in a way that makes it non-trivial to disentangle. So this reference to java.base is quite intentional -- replacing it with $(MODULE_SRC) would have pointed to src/jdk.charsets instead of src/java.base, which would have been incorrect. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From naoto at openjdk.java.net Wed Mar 16 22:04:49 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Wed, 16 Mar 2022 22:04:49 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v6] In-Reply-To: References: Message-ID: On Wed, 16 Mar 2022 21:56:53 GMT, Magnus Ihse Bursie wrote: >> make/modules/jdk.charsets/Gensrc.gmk line 32: >> >>> 30: # Generate files using the charsetmapping tool >>> 31: # >>> 32: CHARSET_DATA_DIR := $(TOPDIR)/src/java.base/share/data/charsetmapping >> >> Is it intentional to leave `java.base` literal here, or should it be replaced with `$(MODULE_SRC)`? I see this inconsistency in other tools' `gensrc.gmk` too > > This is part of the weirdness of charsetmapping that Alan talks about. The charsetmapping data is shared between java.base and jdk.charsets in a way that makes it non-trivial to disentangle. > > So this reference to java.base is quite intentional -- replacing it with $(MODULE_SRC) would have pointed to src/jdk.charsets instead of src/java.base, which would have been incorrect. Thanks for reminding me. Then yes, I'd agree with Alan. It'd be much simpler to exclude this from this PR. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Wed Mar 16 23:53:19 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Wed, 16 Mar 2022 23:53:19 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v7] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Update copyright year ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/598f740f..1c91b951 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=06 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=05-06 Stats: 35 lines in 35 files changed: 0 ins; 0 del; 35 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Thu Mar 17 00:07:53 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Thu, 17 Mar 2022 00:07:53 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v8] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Restore charsetmapping and cldr to make/data ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/1c91b951..34bb3c16 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=07 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=06-07 Stats: 5 lines in 1079 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Thu Mar 17 00:12:38 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Thu, 17 Mar 2022 00:12:38 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Fix typos ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/34bb3c16..b1d1e4d8 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=08 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=07-08 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From weijun at openjdk.java.net Thu Mar 17 00:31:11 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Thu, 17 Mar 2022 00:31:11 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos The security-related change looks fine to me ------------- Marked as reviewed by weijun (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Thu Mar 17 00:31:13 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Thu, 17 Mar 2022 00:31:13 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v2] In-Reply-To: References: <9kDHi3GQvAgEtzouYcyzozui9T5-lmSWZEt026DPA-Q=.8b665b02-8c89-43fd-97bf-7f842ad17eb5@github.com> Message-ID: On Wed, 16 Dec 2020 18:34:37 GMT, Naoto Sato wrote: >>> @AlanBateman The process of modularization was not fully completed with Project Jigsaw, and a few ugly warts remained. I was under the impression that these should be addressed in follow-up fixes, but this was unfortunately never done. Charsets and cldrconverter were both split between a core portion in java.base and the rest in jdk.charsets and jdk.localedata, respectively, but the split was never handled properly, but just "duct taped" in place. >>> >>> I chose to put the data files used for both java.base and the "additional" modules in java.base, based on the comment that Naoto made in https://mail.openjdk.java.net/pipermail/build-dev/2020-March/027044.html: >>> >>> > As to charsetmapping and cldrconverter, I believe they can reside in >>> > java.base, as jdk.charsets and jdk.localedata modules depend on it. >>> >>> Of course it would be preferable to make a proper split, but that requires work done by the component teams to break the modules apart. >>> >>> Specifically for make/modules/jdk.charsets/Gensrc.gmk; the code in that file is more or less duplicated in make/modules/java.base/gensrc/GensrcCharsetMapping.gmk, since the same data set is processed twice, once for java.base and once for jdk.charsets. I don't think that means that make/modules/jdk.charsets/Gensrc.gmk should move to any other place. >> >> I still stand by what I wrote above. It's best to put data in java.base for charsets/localedata. Otherwise we would have to duplicate some in each modules source directory. > >>I also think that the person most qualified to judge about charsetmapping is @naotoj, which has already accepted this review as it is. > > Although I am the current RE for the charsets component, I succeeded it from Alan/Sherman, so I would like to hear Alan's opinion on this. @naotoj @AlanBateman I have now rolled back any changes to make/data/cldr and make/data/charsetmapping. I have also updated copyright years; thanks for reminding me Naoto! ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From erikj at openjdk.java.net Thu Mar 17 13:35:35 2022 From: erikj at openjdk.java.net (Erik Joelsson) Date: Thu, 17 Mar 2022 13:35:35 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos Marked as reviewed by erikj (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From naoto at openjdk.java.net Thu Mar 17 16:15:30 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Thu, 17 Mar 2022 16:15:30 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos LGTM. Thanks for the change, Magnus! ------------- Marked as reviewed by naoto (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1611 From alanb at openjdk.java.net Fri Mar 18 10:03:39 2022 From: alanb at openjdk.java.net (Alan Bateman) Date: Fri, 18 Mar 2022 10:03:39 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos Thanks for dropping the charset and locale data from the proposal. The updated proposal (b1d1e4d8) looks okay but I can't tell if you are planning to integrate this or wait until there is discussion on the locations proposed in the Informational JEP that you've just submitted. Maybe you plan to just integrate and then adjust/move again if needed? I suspect that JEP will need to includes a "specs" directory. It's okay to jdwp.spec into the java.se "data" directory for now I think "specs" would be a bette place for it. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From magnus.ihse.bursie at oracle.com Fri Mar 18 14:13:58 2022 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Fri, 18 Mar 2022 14:13:58 +0000 Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: <62193BC0-B3FC-43E9-A65D-387708D85B3D@oracle.com> > 18 mars 2022 kl. 11:04 skrev Alan Bateman : > > I can't tell if you are planning to integrate this or wait until there is discussion on the locations proposed in the Informational JEP that you've just submitted. Maybe you plan to just integrate and then adjust/move again if needed? I am *not* planning to wait for the JEP. (My perhaps cynical prediction is that it will be treated as a low-priority, bike-shedding playground which is unlikely to progress to its final stage for a year or so?) The point of the informational JEP is that it is a living document. If the code changes, we can update the JEP. The JEP as it stands right now describes the code base as it will look when this PR is integrated. And yes, I?m open for more updates/changes in the future if we find the need. Things like code structure is something which we impose on the source code to be helpful. If it works against our best interests, we need to change it. And sometimes it?s hard to get things right the first time around. /Magnus From alanb at openjdk.java.net Fri Mar 18 19:37:34 2022 From: alanb at openjdk.java.net (Alan Bateman) Date: Fri, 18 Mar 2022 19:37:34 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos Marked as reviewed by alanb (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From prr at openjdk.java.net Fri Mar 18 21:21:30 2022 From: prr at openjdk.java.net (Phil Race) Date: Fri, 18 Mar 2022 21:21:30 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos Changes requested by prr (Reviewer). make/modules/java.desktop/gensrc/GensrcX11Wrappers.gmk line 27: > 25: > 26: # Generate java sources using the X11 offsets that are precalculated in files > 27: # src/java.desktop/share/data/x11wrappergen/sizes-
.txt. This doesn't seem right to me. This is X11 specific. It should not be in share. Same for related files. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From prr at openjdk.java.net Fri Mar 18 21:27:36 2022 From: prr at openjdk.java.net (Phil Race) Date: Fri, 18 Mar 2022 21:27:36 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Thu, 17 Mar 2022 00:12:38 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Fix typos This doesn't seem right to me to put x11wrappergen into share. This is X11 specific. It should not be in share. Same for all of the fontconfig files. In make/data it did not seem too weird but it is very weird to put them all in share. If you were to go back and look how it used to be before someone moved them to make I am sure you'd find them in platform specific source directories. ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From aturbanov at openjdk.java.net Sat Mar 19 13:33:27 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Sat, 19 Mar 2022 13:33:27 GMT Subject: Integrated: 8282574: Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler In-Reply-To: <73RfdVOUXAjoAPOIraO_U6SJfShzociY9O3oV0-AR3g=.8f0c0bb0-ccac-4eac-a9d3-496ddc88339d@github.com> References: <73RfdVOUXAjoAPOIraO_U6SJfShzociY9O3oV0-AR3g=.8f0c0bb0-ccac-4eac-a9d3-496ddc88339d@github.com> Message-ID: On Wed, 2 Mar 2022 18:43:35 GMT, Andrey Turbanov wrote: > Pass cause exception as constructor parameter is shorter and easier to read. This pull request has now been integrated. Changeset: e8caf84f Author: Andrey Turbanov URL: https://git.openjdk.java.net/jdk/commit/e8caf84fb9dfcbb59da6459972724b6780b0871a Stats: 9 lines in 2 files changed: 0 ins; 5 del; 4 mod 8282574: Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler Reviewed-by: darcy ------------- PR: https://git.openjdk.java.net/jdk/pull/7662 From ihse at openjdk.java.net Mon Mar 21 13:41:40 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 13:41:40 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v10] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Fix fontconfig according to review request ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/b1d1e4d8..5a75e7d1 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=09 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=08-09 Stats: 26 lines in 5 files changed: 10 ins; 5 del; 11 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 13:46:27 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 13:46:27 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v11] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 18 commits: - Merge tag 'jdk-19+14' into shuffle-data Added tag jdk-19+14 for changeset 08cadb47 - Move x11wrappergen from share/data to unix/data - Fix fontconfig according to review request - Fix typos - Restore charsetmapping and cldr to make/data - Update copyright year - Merge branch 'master' into shuffle-data-reborn - Fix merge - Merge tag 'jdk-19+13' into shuffle-data-reborn Added tag jdk-19+13 for changeset 5df2a057 - Move characterdata templates to share/classes/java/lang. - ... and 8 more: https://git.openjdk.java.net/jdk/compare/08cadb47...ea17b206 ------------- Changes: https://git.openjdk.java.net/jdk/pull/1611/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=10 Stats: 140 lines in 619 files changed: 14 ins; 6 del; 120 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 14:15:36 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 14:15:36 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Fri, 18 Mar 2022 21:24:43 GMT, Phil Race wrote: >> Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix typos > > This doesn't seem right to me to put x11wrappergen into share. > > This is X11 specific. It should not be in share. > > Same for all of the fontconfig files. In make/data it did not seem too weird but it is very weird to put them all in share. If you were to go back and look how it used to be before someone moved them to make I am sure you'd find them in platform specific source directories. @prrace I have now moved the fontconfig files to `$OS/data`. (I also took the opportunity to clean up the GenData file, which had a quite hairy logic for a trivial task.) I have moved the x11wrappergen files to `unix/data`. (Strictly speaking, "unix" and "x11" do not have the same "sense" (in the Fregean meaning), even if it has the same "referent". But we've used that convention before so I'm sticking to it.) ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 16:06:35 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 16:06:35 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v12] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Correct name for bfc files ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/ea17b206..f66afd1a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=11 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=10-11 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 16:29:25 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 16:29:25 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v13] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 20 commits: - Merge branch 'master' into shuffle-data - Correct name for bfc files - Merge tag 'jdk-19+14' into shuffle-data Added tag jdk-19+14 for changeset 08cadb47 - Move x11wrappergen from share/data to unix/data - Fix fontconfig according to review request - Fix typos - Restore charsetmapping and cldr to make/data - Update copyright year - Merge branch 'master' into shuffle-data-reborn - Fix merge - ... and 10 more: https://git.openjdk.java.net/jdk/compare/19d34bdf...1c47d82d ------------- Changes: https://git.openjdk.java.net/jdk/pull/1611/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=12 Stats: 140 lines in 619 files changed: 14 ins; 6 del; 120 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From erikj at openjdk.java.net Mon Mar 21 17:07:40 2022 From: erikj at openjdk.java.net (Erik Joelsson) Date: Mon, 21 Mar 2022 17:07:40 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v13] In-Reply-To: References: Message-ID: On Mon, 21 Mar 2022 16:29:25 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 20 commits: > > - Merge branch 'master' into shuffle-data > - Correct name for bfc files > - Merge tag 'jdk-19+14' into shuffle-data > > Added tag jdk-19+14 for changeset 08cadb47 > - Move x11wrappergen from share/data to unix/data > - Fix fontconfig according to review request > - Fix typos > - Restore charsetmapping and cldr to make/data > - Update copyright year > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - ... and 10 more: https://git.openjdk.java.net/jdk/compare/19d34bdf...1c47d82d OS specific X11 and fontconfig looks good. make/modules/java.desktop/gendata/GendataFontConfig.gmk line 57: > 55: TARGETS += $(FONTCONFIG_OUT_BIN_FILE) > 56: > 57: endif It says no newline at end of file, maybe add that if it's true. ------------- Marked as reviewed by erikj (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1611 From prr at openjdk.java.net Mon Mar 21 17:57:38 2022 From: prr at openjdk.java.net (Phil Race) Date: Mon, 21 Mar 2022 17:57:38 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v9] In-Reply-To: References: Message-ID: On Fri, 18 Mar 2022 21:24:43 GMT, Phil Race wrote: >> Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix typos > > This doesn't seem right to me to put x11wrappergen into share. > > This is X11 specific. It should not be in share. > > Same for all of the fontconfig files. In make/data it did not seem too weird but it is very weird to put them all in share. If you were to go back and look how it used to be before someone moved them to make I am sure you'd find them in platform specific source directories. > @prrace I have now moved the fontconfig files to `$OS/data`. (I also took the opportunity to clean up the GenData file, which had a quite hairy logic for a trivial task.) I have moved the x11wrappergen files to `unix/data`. > > (Strictly speaking, "unix" and "x11" do not have the same "sense" (in the Fregean meaning), even if it has the same "referent". But we've used that convention before so I'm sticking to it.) Indeed they do not but it is a better approximation than "shared". ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From jjg at openjdk.java.net Mon Mar 21 19:00:36 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Mon, 21 Mar 2022 19:00:36 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v13] In-Reply-To: References: Message-ID: On Mon, 21 Mar 2022 16:29:25 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 20 commits: > > - Merge branch 'master' into shuffle-data > - Correct name for bfc files > - Merge tag 'jdk-19+14' into shuffle-data > > Added tag jdk-19+14 for changeset 08cadb47 > - Move x11wrappergen from share/data to unix/data > - Fix fontconfig according to review request > - Fix typos > - Restore charsetmapping and cldr to make/data > - Update copyright year > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - ... and 10 more: https://git.openjdk.java.net/jdk/compare/19d34bdf...1c47d82d As before, the changes for `jdk.compiler` and `idk.javadoc` look OK, and if there is general consensus on the overall proposed move, then I think that overall it is a good idea. I did not review the `jdk.compiler` in low-level detail, but scanning the webrev index file, the changes seemed OK, and a pure move (no lines changed.) It might have been better to have handled this on a per-module basis, rather than all-at-once, but whatever ... ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From mchung at openjdk.java.net Mon Mar 21 19:42:33 2022 From: mchung at openjdk.java.net (Mandy Chung) Date: Mon, 21 Mar 2022 19:42:33 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v13] In-Reply-To: References: Message-ID: <80sBZo5_9EhVEBljhwN7YRFwROLhSnYgNPH1Qg2tMOk=.061730ba-b085-4109-b5c9-ddbf0397301f@github.com> On Mon, 21 Mar 2022 16:29:25 GMT, Magnus Ihse Bursie wrote: >> A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) >> >> These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) >> >> This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. >> >> ### Modules reviewed >> >> - [x] java.base >> - [x] java.desktop >> - [x] jdk.compiler >> - [x] java.se > > Magnus Ihse Bursie has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 20 commits: > > - Merge branch 'master' into shuffle-data > - Correct name for bfc files > - Merge tag 'jdk-19+14' into shuffle-data > > Added tag jdk-19+14 for changeset 08cadb47 > - Move x11wrappergen from share/data to unix/data > - Fix fontconfig according to review request > - Fix typos > - Restore charsetmapping and cldr to make/data > - Update copyright year > - Merge branch 'master' into shuffle-data-reborn > - Fix merge > - ... and 10 more: https://git.openjdk.java.net/jdk/compare/19d34bdf...1c47d82d I reviewed java.base and java.se. I agree that java.se is a better home for jdwp.spec. ------------- Marked as reviewed by mchung (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 21:30:29 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 21:30:29 GMT Subject: RFR: 8257733: Move module-specific data from make to respective module [v14] In-Reply-To: References: Message-ID: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Add missing newline at EOF ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1611/files - new: https://git.openjdk.java.net/jdk/pull/1611/files/1c47d82d..8faeff36 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=13 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1611&range=12-13 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/1611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1611/head:pull/1611 PR: https://git.openjdk.java.net/jdk/pull/1611 From ihse at openjdk.java.net Mon Mar 21 21:39:38 2022 From: ihse at openjdk.java.net (Magnus Ihse Bursie) Date: Mon, 21 Mar 2022 21:39:38 GMT Subject: Integrated: 8257733: Move module-specific data from make to respective module In-Reply-To: References: Message-ID: On Thu, 3 Dec 2020 23:44:20 GMT, Magnus Ihse Bursie wrote: > A lot (but not all) of the data in make/data is tied to a specific module. For instance, the publicsuffixlist is used by java.base, and fontconfig by java.desktop. (A few directories, like mainmanifest, is *actually* used by make for the whole build.) > > These data files should move to the module they belong to. The are, after all, "source code" for that module that is "compiler" into resulting deliverables, for that module. (But the "source code" language is not Java or C, but typically a highly domain specific language or data format, and the "compilation" is, often, a specialized transformation.) > > This misplacement of the data directory is most visible at code review time. When such data is changed, most of the time build-dev (or the new build label) is involved, even though this has nothing to do with the build. While this is annoying, a worse problem is if the actual team that needs to review the patch (i.e., the team owning the module) is missed in the review. > > ### Modules reviewed > > - [x] java.base > - [x] java.desktop > - [x] jdk.compiler > - [x] java.se This pull request has now been integrated. Changeset: f8878cb0 Author: Magnus Ihse Bursie URL: https://git.openjdk.java.net/jdk/commit/f8878cb0cc436993ef1222bc13b00b923d91aad1 Stats: 140 lines in 619 files changed: 14 ins; 6 del; 120 mod 8257733: Move module-specific data from make to respective module Reviewed-by: jjg, weijun, naoto, erikj, prr, alanb, mchung ------------- PR: https://git.openjdk.java.net/jdk/pull/1611 From valeriep at openjdk.java.net Tue Mar 22 21:25:28 2022 From: valeriep at openjdk.java.net (Valerie Peng) Date: Tue, 22 Mar 2022 21:25:28 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v7] In-Reply-To: References: Message-ID: > It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: > > - SHA-384 for secure hashing > - AES-256 for symmetric encryption > - RSA with 3072 bit keys for digital signatures and for key exchange > - Diffie Hellman (DH) with 3072 bit keys for key exchange > - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) > > So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? > > Thanks! Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: Minor code refactoring ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7652/files - new: https://git.openjdk.java.net/jdk/pull/7652/files/c8ae1655..1eb63292 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=06 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7652&range=05-06 Stats: 20 lines in 1 file changed: 1 ins; 7 del; 12 mod Patch: https://git.openjdk.java.net/jdk/pull/7652.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7652/head:pull/7652 PR: https://git.openjdk.java.net/jdk/pull/7652 From weijun at openjdk.java.net Wed Mar 23 01:23:33 2022 From: weijun at openjdk.java.net (Weijun Wang) Date: Wed, 23 Mar 2022 01:23:33 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v7] In-Reply-To: References: Message-ID: On Tue, 22 Mar 2022 21:25:28 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Minor code refactoring Everything looks fine to me. ------------- Marked as reviewed by weijun (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7652 From vromero at openjdk.java.net Wed Mar 23 03:55:57 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 23 Mar 2022 03:55:57 GMT Subject: RFR: 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel Message-ID: Simple PR, fixing an indentation issue at com.sun.tools.javac.comp.Enter::visitTopLevel, the fix is a one liner, TIA ------------- Commit messages: - 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel Changes: https://git.openjdk.java.net/jdk/pull/7915/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7915&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283543 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/7915.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7915/head:pull/7915 PR: https://git.openjdk.java.net/jdk/pull/7915 From darcy at openjdk.java.net Wed Mar 23 04:25:31 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Wed, 23 Mar 2022 04:25:31 GMT Subject: RFR: 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 03:47:51 GMT, Vicente Romero wrote: > Simple PR, fixing an indentation issue at com.sun.tools.javac.comp.Enter::visitTopLevel, the fix is a one liner, > > TIA Marked as reviewed by darcy (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7915 From iris at openjdk.java.net Wed Mar 23 04:43:33 2022 From: iris at openjdk.java.net (Iris Clark) Date: Wed, 23 Mar 2022 04:43:33 GMT Subject: RFR: 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 03:47:51 GMT, Vicente Romero wrote: > Simple PR, fixing an indentation issue at com.sun.tools.javac.comp.Enter::visitTopLevel, the fix is a one liner, > > TIA Marked as reviewed by iris (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7915 From xuelei at openjdk.java.net Wed Mar 23 04:54:26 2022 From: xuelei at openjdk.java.net (Xue-Lei Andrew Fan) Date: Wed, 23 Mar 2022 04:54:26 GMT Subject: RFR: 8267319: Use larger default key sizes and algorithms based on CNSA [v7] In-Reply-To: References: Message-ID: <41swzBwhbUCz5d81mbzjbM3Q60GmHHqUPevIQs6LgSk=.f0b459bb-a368-40f2-a34c-8fd4b223ee78@github.com> On Tue, 22 Mar 2022 21:25:28 GMT, Valerie Peng wrote: >> It's been several years since we increased the default key sizes. Before shifting to PQC, NSA replaced its Suite B cryptography recommendations with the Commercial National Security Algorithm Suite which suggests: >> >> - SHA-384 for secure hashing >> - AES-256 for symmetric encryption >> - RSA with 3072 bit keys for digital signatures and for key exchange >> - Diffie Hellman (DH) with 3072 bit keys for key exchange >> - Elliptic curve [P-384] for key exchange (ECDH) and for digital signatures (ECDSA) >> >> So, this proposed changes made the suggested key size and algorithm changes. The changes are mostly in keytool, jarsigner and their regression tests, so @wangweij Could you please take a look? >> >> Thanks! > > Valerie Peng has updated the pull request incrementally with one additional commit since the last revision: > > Minor code refactoring src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java line 129: > 127: return currVal; > 128: } > 129: I'm not very sure of this method. Is it performance friendly if making the default key size calculation in the static block (from line 142 to the end of the file)? Then, the DEF_AES_KEY_SIZE could be a public primitive int. Or did I miss something? src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java line 137: > 135: public static final int DEF_ED_KEY_SIZE; > 136: public static final int DEF_XEC_KEY_SIZE; > 137: private static final AtomicInteger DEF_AES_KEY_SIZE; See the previous comment, maybe it could be `public static final int DEF_AES_KEY_SIZE.` ------------- PR: https://git.openjdk.java.net/jdk/pull/7652 From vromero at openjdk.java.net Wed Mar 23 10:37:37 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 23 Mar 2022 10:37:37 GMT Subject: RFR: 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 03:47:51 GMT, Vicente Romero wrote: > Simple PR, fixing an indentation issue at com.sun.tools.javac.comp.Enter::visitTopLevel, the fix is a one liner, > > TIA thanks folks, for the review ------------- PR: https://git.openjdk.java.net/jdk/pull/7915 From vromero at openjdk.java.net Wed Mar 23 10:37:37 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 23 Mar 2022 10:37:37 GMT Subject: Integrated: 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 03:47:51 GMT, Vicente Romero wrote: > Simple PR, fixing an indentation issue at com.sun.tools.javac.comp.Enter::visitTopLevel, the fix is a one liner, > > TIA This pull request has now been integrated. Changeset: 6ed0ba2f Author: Vicente Romero URL: https://git.openjdk.java.net/jdk/commit/6ed0ba2f8a2af58c45a6b7be684ef30d15af6ead Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel Reviewed-by: darcy, iris ------------- PR: https://git.openjdk.java.net/jdk/pull/7915 From duke at openjdk.java.net Wed Mar 23 15:54:53 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Wed, 23 Mar 2022 15:54:53 GMT Subject: RFR: 8275727: Tests may fail with zh locale on MacOS Message-ID: I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. On MacOS 12.1. ------------- Commit messages: - Tests may fail with zh locale on MacOS Changes: https://git.openjdk.java.net/jdk/pull/7924/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8275727 Stats: 37 lines in 9 files changed: 14 ins; 0 del; 23 mod Patch: https://git.openjdk.java.net/jdk/pull/7924.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7924/head:pull/7924 PR: https://git.openjdk.java.net/jdk/pull/7924 From vromero at openjdk.java.net Wed Mar 23 16:28:28 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 23 Mar 2022 16:28:28 GMT Subject: RFR: 8268312: Compilation error with nested generic functional interface [v2] In-Reply-To: References: Message-ID: On Wed, 29 Sep 2021 06:16:22 GMT, Vicente Romero wrote: >> Please review this PR, which is my proposal to fix an existing regression. This code: >> >> >> import java.util.Optional; >> >> class App { >> public static void main(String[] args) { >> Optional.of("").map(outer -> { >> Optional.of("") >> .map(inner -> returnGeneric(outer)) >> .ifPresent(String::toString); >> return ""; >> }); >> } >> >> private static RG returnGeneric(RG generic) { >> return generic; >> } >> } >> >> is not accepted by javac but if the user passes the `-Xdiags:verbose` option then the code compiles. I tracked down the reason for this puzzling difference and I found that it is due to our diagnostic rewriters which can generate more detailed positions for error messages but in cases like the one above can trick the compiler to generate an error message too early. The code deciding if an error message should be deferred or not, depending on the position, is at `DeferredDiagnosticHandler::report`. We decide to do the rewriting if we are in diagnostics compact mode, this is why the error doesn't occur with the `-Xdiags:verbose` option. This fix will made some diagnostics to appear at a slightly different position, but won't make the compiler reject correct code. Comments? >> >> TIA > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > addressing review comments ping ------------- PR: https://git.openjdk.java.net/jdk/pull/5586 From duke at openjdk.java.net Wed Mar 23 16:57:28 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Wed, 23 Mar 2022 16:57:28 GMT Subject: RFR: 8275727: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. Can somebody create an issue for me. I've reported to java bug system, no response yet. Current issue is the similar one. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jlahoda at openjdk.java.net Wed Mar 23 19:23:48 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Wed, 23 Mar 2022 19:23:48 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties Message-ID: There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. ------------- Commit messages: - 8282943: Unused weird key in compiler.properties Changes: https://git.openjdk.java.net/jdk/pull/7929/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7929&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282943 Stats: 4 lines in 2 files changed: 0 ins; 4 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7929.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7929/head:pull/7929 PR: https://git.openjdk.java.net/jdk/pull/7929 From vromero at openjdk.java.net Wed Mar 23 20:11:58 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 23 Mar 2022 20:11:58 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. looks good ------------- Marked as reviewed by vromero (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7929 From darcy at openjdk.java.net Wed Mar 23 23:34:19 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Wed, 23 Mar 2022 23:34:19 GMT Subject: RFR: JDK-8283594: Improve docs of ElementScanner classes Message-ID: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Simple update to add links. In the subclasses, the erasure of the parameter's type needs to be used for the link to be recognized as valid. After getting reviews, I'll reflow the paragraphs before pushing. ------------- Commit messages: - JDK-8283594: Improve docs of ElementScanner classes Changes: https://git.openjdk.java.net/jdk/pull/7932/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7932&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283594 Stats: 9 lines in 5 files changed: 0 ins; 0 del; 9 mod Patch: https://git.openjdk.java.net/jdk/pull/7932.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7932/head:pull/7932 PR: https://git.openjdk.java.net/jdk/pull/7932 From jjg at openjdk.java.net Thu Mar 24 00:27:47 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Thu, 24 Mar 2022 00:27:47 GMT Subject: RFR: JDK-8283594: Improve docs of ElementScanner classes In-Reply-To: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> References: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Message-ID: On Wed, 23 Mar 2022 23:27:05 GMT, Joe Darcy wrote: > Simple update to add links. In the subclasses, the erasure of the parameter's type needs to be used for the link to be recognized as valid. > > After getting reviews, I'll reflow the paragraphs before pushing. In the implementation, it looks like the `visitXYZ` methods call the `scan(Iterable, P p)` methods. However, it is notable that the `Iterable` overload is `final`, (along with the 3rd overload that defaults the `P` parameter), thus effectively guaranteeing that the `scan` method that takes a single `Element` will indeed be called. ------------- Marked as reviewed by jjg (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7932 From darcy at openjdk.java.net Thu Mar 24 00:34:33 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Thu, 24 Mar 2022 00:34:33 GMT Subject: RFR: JDK-8283594: Improve docs of ElementScanner classes [v2] In-Reply-To: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> References: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Message-ID: > Simple update to add links. In the subclasses, the erasure of the parameter's type needs to be used for the link to be recognized as valid. > > After getting reviews, I'll reflow the paragraphs before pushing. Joe Darcy has updated the pull request incrementally with one additional commit since the last revision: Reflow updated paragraphs. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7932/files - new: https://git.openjdk.java.net/jdk/pull/7932/files/035d7e40..d0b65388 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7932&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7932&range=00-01 Stats: 50 lines in 5 files changed: 8 ins; 0 del; 42 mod Patch: https://git.openjdk.java.net/jdk/pull/7932.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7932/head:pull/7932 PR: https://git.openjdk.java.net/jdk/pull/7932 From darcy at openjdk.java.net Thu Mar 24 00:53:31 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Thu, 24 Mar 2022 00:53:31 GMT Subject: RFR: JDK-8283594: Improve docs of ElementScanner classes [v3] In-Reply-To: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> References: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Message-ID: > Simple update to add links. In the subclasses, the erasure of the parameter's type needs to be used for the link to be recognized as valid. > > After getting reviews, I'll reflow the paragraphs before pushing. Joe Darcy has updated the pull request incrementally with one additional commit since the last revision: Fix existing be/by typo. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7932/files - new: https://git.openjdk.java.net/jdk/pull/7932/files/d0b65388..f0d889aa Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7932&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7932&range=01-02 Stats: 5 lines in 5 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/7932.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7932/head:pull/7932 PR: https://git.openjdk.java.net/jdk/pull/7932 From dholmes at openjdk.java.net Thu Mar 24 00:56:49 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Thu, 24 Mar 2022 00:56:49 GMT Subject: RFR: 8275727: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. It is not clear to me why only the listed tests are affected by this e.g. test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java why is every test that uses `ProcessTools.createJavaProcessBuilder` not affected? And should this be something that is handled inside `ProcessTools.createJavaProcessBuilder` rather than in individual tests? Also is this really intended as a fix for JDK-8275727 because the PR has now been linked to it! This seems a related but differnet issue. Thanks, David ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From darcy at openjdk.java.net Thu Mar 24 01:01:48 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Thu, 24 Mar 2022 01:01:48 GMT Subject: RFR: JDK-8283594: Improve docs of ElementScanner classes [v3] In-Reply-To: References: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Message-ID: On Thu, 24 Mar 2022 00:24:36 GMT, Jonathan Gibbons wrote: > In the implementation, it looks like the `visitXYZ` methods call the `scan(Iterable, P p)` methods. > > However, it is notable that the `Iterable` overload is `final`, (along with the 3rd overload that defaults the `P` parameter), thus effectively guaranteeing that the `scan` method that takes a single `Element` will indeed be called. Right; calling "scan(Element, P)" as an implementation detail happens by using a call to the final scan method accepting an iterable. ------------- PR: https://git.openjdk.java.net/jdk/pull/7932 From darcy at openjdk.java.net Thu Mar 24 01:01:49 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Thu, 24 Mar 2022 01:01:49 GMT Subject: Integrated: JDK-8283594: Improve docs of ElementScanner classes In-Reply-To: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> References: <-Sze1Gu6DlaR-lYJFRtxGAi2GQEE9cWnELcro1Ypgo0=.a823a293-f6ab-4a11-bafa-556bae5f146c@github.com> Message-ID: On Wed, 23 Mar 2022 23:27:05 GMT, Joe Darcy wrote: > Simple update to add links. In the subclasses, the erasure of the parameter's type needs to be used for the link to be recognized as valid. > > After getting reviews, I'll reflow the paragraphs before pushing. This pull request has now been integrated. Changeset: 1a84d759 Author: Joe Darcy URL: https://git.openjdk.java.net/jdk/commit/1a84d7590ae8d120c86d72e5b15ec89754f39ba0 Stats: 54 lines in 5 files changed: 8 ins; 0 del; 46 mod 8283594: Improve docs of ElementScanner classes Reviewed-by: jjg ------------- PR: https://git.openjdk.java.net/jdk/pull/7932 From jjg at openjdk.java.net Thu Mar 24 01:28:53 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Thu, 24 Mar 2022 01:28:53 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: <1_tARRvw3VbT82bQEcuvW4_DRx14Sbp8nrZdW2q7_bY=.49ce72e5-173c-4014-90a3-b56d7568e94d@github.com> On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. !! ------------- PR: https://git.openjdk.java.net/jdk/pull/7929 From jjg at openjdk.java.net Thu Mar 24 01:33:47 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Thu, 24 Mar 2022 01:33:47 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. ... and it predates the open-source epoch! ------------- PR: https://git.openjdk.java.net/jdk/pull/7929 From duke at openjdk.java.net Thu Mar 24 02:21:48 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Thu, 24 Mar 2022 02:21:48 GMT Subject: RFR: 8275727: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 00:53:26 GMT, David Holmes wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > It is not clear to me why only the listed tests are affected by this e.g. > > test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java > > why is every test that uses `ProcessTools.createJavaProcessBuilder` not affected? And should this be something that is handled inside `ProcessTools.createJavaProcessBuilder` rather than in individual tests? > > Also is this really intended as a fix for JDK-8275727 because the PR has now been linked to it! This seems a related but differnet issue. > > Thanks, > David @dholmes-ora hello, some test case not use `shouldContain` method to check string inclusion?e.g. test/hotspot/jtreg/runtime/classFileParserBug/TestBadPackageWithInterface.java some test use `shouldContain` but output string do contain the expected string and some none english, e.g. test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java This is do a related but different issue, Can you help me to create an issue for this PR, I've reported to java bug system but not received an issue id. Thanks ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jwaters at openjdk.java.net Thu Mar 24 02:59:46 2022 From: jwaters at openjdk.java.net (Julian Waters) Date: Thu, 24 Mar 2022 02:59:46 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: <4elwQb8Sn6DDDUFBCp5A0V-o4uRQi0-t3M84hV6-Ck0=.dfbd7345-ba05-429d-8c53-d71b1ac01b99@github.com> On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. I propose to keep it- A little humour can't hurt :P ------------- PR: https://git.openjdk.java.net/jdk/pull/7929 From ethan at mccue.dev Thu Mar 24 03:07:32 2022 From: ethan at mccue.dev (Ethan McCue) Date: Wed, 23 Mar 2022 23:07:32 -0400 Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: <4elwQb8Sn6DDDUFBCp5A0V-o4uRQi0-t3M84hV6-Ck0=.dfbd7345-ba05-429d-8c53-d71b1ac01b99@github.com> References: <4elwQb8Sn6DDDUFBCp5A0V-o4uRQi0-t3M84hV6-Ck0=.dfbd7345-ba05-429d-8c53-d71b1ac01b99@github.com> Message-ID: Just curious, what do the translations of this key say? If those are sufficiently funnier than what this one says then maybe it gets to stay. On Wed, Mar 23, 2022 at 11:00 PM Julian Waters wrote: > On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > > > There is a weird key in `compiler.properties` in javac. This key is, to > my knowledge, unused, so the proposal is to remove it. > > I propose to keep it- A little humour can't hurt :P > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/7929 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dholmes at openjdk.java.net Thu Mar 24 05:18:45 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Thu, 24 Mar 2022 05:18:45 GMT Subject: RFR: 8275727: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: <4ywgl1Sufakug8iRZFIMzGWMdsjopqBNel8EcKgfhWg=.ca826f76-f1e6-4fab-9be9-fce16a6c4e1c@github.com> On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. I have filed: https://bugs.openjdk.java.net/browse/JDK-8283606 please update the PR accordingly. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From duke at openjdk.java.net Thu Mar 24 07:55:39 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Thu, 24 Mar 2022 07:55:39 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: <4ywgl1Sufakug8iRZFIMzGWMdsjopqBNel8EcKgfhWg=.ca826f76-f1e6-4fab-9be9-fce16a6c4e1c@github.com> References: <4ywgl1Sufakug8iRZFIMzGWMdsjopqBNel8EcKgfhWg=.ca826f76-f1e6-4fab-9be9-fce16a6c4e1c@github.com> Message-ID: On Thu, 24 Mar 2022 05:15:05 GMT, David Holmes wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > I have filed: > > https://bugs.openjdk.java.net/browse/JDK-8283606 > > please update the PR accordingly. @dholmes-ora Thanks, I've updated the PR. Tell me if changing the test library is preferable, I will update this PR. it will include `ProcessTools.createJavaProcessBuilder` , `ExecTask` , `JavadocTask` , `JavacTask`,and maybe modify two tests to use `JavacTask` if applicable. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From dholmes at openjdk.java.net Thu Mar 24 11:25:45 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Thu, 24 Mar 2022 11:25:45 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. I think fixing this in the test library is preferable but I'd like to hear from others about the general problem. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From rriggs at openjdk.java.net Thu Mar 24 14:09:48 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Thu, 24 Mar 2022 14:09:48 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. Can you look into why these tests do not fail on other OS's with the same locale? There could be some other way that the locale defaults are used by the tests. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Thu Mar 24 16:20:43 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 24 Mar 2022 16:20:43 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Wed, 23 Mar 2022 15:34:43 GMT, Vikey Chen wrote: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. As I mentioned in the bug report, it's not clear to me what the error condition is. My guess is: - You are running on a machine where the default locale is zh - Some tests fail because they expect the output in English, such as "Main method not found in class" - However, on your machine, the error message is printed in Chinese, so the tests fail. - You can work around the problem, and make the tests pass, by adding `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From duke at openjdk.java.net Thu Mar 24 17:13:43 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Thu, 24 Mar 2022 17:13:43 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 14:06:03 GMT, Roger Riggs wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > Can you look into why these tests do not fail on other OS's with the same locale? > There could be some other way that the locale defaults are used by the tests. @RogerRiggs I haven't tested on other OS's, I will try to take some time to test it. from the test doc of openjdk > If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. Maybe in linux setting environment before test is enough. At first, I have set `LC_ALL` and `LANG` on MAC, which is not work. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From duke at openjdk.java.net Thu Mar 24 17:23:47 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Thu, 24 Mar 2022 17:23:47 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 16:17:05 GMT, Ioi Lam wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > As I mentioned in the bug report, it's not clear to me what the error condition is. My guess is: > > - You are running on a machine where the default locale is zh > - Some tests fail because they expect the output in English, such as "Main method not found in class" > - However, on your machine, the error message is printed in Chinese, so the tests fail. > - You can work around the problem, and make the tests pass, by adding `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` @iklam by adding `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US`, tests will still fail. Without adding it, A bunch of tests will fail. most of them are langtool tests, more than 1000 failed test at the time of my test. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From duke at openjdk.java.net Thu Mar 24 17:30:22 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Thu, 24 Mar 2022 17:30:22 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: > I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. > > On MacOS 12.1. Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: polish ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7924/files - new: https://git.openjdk.java.net/jdk/pull/7924/files/bd0ff44c..24dda53e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=00-01 Stats: 4 lines in 1 file changed: 2 ins; 2 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7924.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7924/head:pull/7924 PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Thu Mar 24 19:14:51 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 24 Mar 2022 19:14:51 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 16:17:05 GMT, Ioi Lam wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > As I mentioned in the bug report, it's not clear to me what the error condition is. My guess is: > > - You are running on a machine where the default locale is zh > - Some tests fail because they expect the output in English, such as "Main method not found in class" > - However, on your machine, the error message is printed in Chinese, so the tests fail. > - You can work around the problem, and make the tests pass, by adding `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` > @iklam by adding `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US`, tests will still fail. Without adding it, A bunch of tests will fail. most of them are langtool tests, more than 1000 failed test at the time of my test. I've updated the bug report (https://bugs.openjdk.java.net/browse/JDK-8283606) description. Please change it as you see fit. Also, please update the summary of this PR so it's clear what the problem is, and how you're fixing it. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Thu Mar 24 20:08:44 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Thu, 24 Mar 2022 20:08:44 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: <-apI_uaUlm7e9t7KclYcN7BYhQNiSCNJhsyk-F-uLKA=.cd9e794e-fe10-44af-be2a-da7fc7093faf@github.com> On Thu, 24 Mar 2022 17:30:22 GMT, Vikey Chen wrote: >> I have run tier-1 test with `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"`, some tests still fail because of default locale, Most of them are langtools tests. >> >> On MacOS 12.1. > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > polish Can you try if this works for you (without your patch)? export JAVA_TOOL_OPTIONS='-Xlog:gc -Duser.language=en -Duser.country=US' make test-only \ TEST=test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java \ JTREG_OPTIONS=-e:JAVA_TOOL_OPTIONS make test-only \ TEST=open/test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java\ JTREG_OPTIONS=-e:JAVA_TOOL_OPTIONS The `-Xlog:gc` is just for validating that the options are passed to tools such as `javac` and `javadoc` without the need to add the `-J` prefix. You should see something like this: Options: [-J--patch-module=jdk.javadoc=patch, -J-Duser.language=en, -J-Duser.country=GB, -J-Duser.variant=ALLCAPS, -sourcepath, src, -d, testHelloWorldDefault_ALLCAPS/api, p] [STDOUT]: [0.022s][info][gc] Using G1 [0.681s][info][gc] GC(0) Pause Young (Normal) (G1 Evacuation Pause) 8M->3M(16M) 9.021ms .... [STDERR]: Picked up JAVA_TOOL_OPTIONS: -Xlog:gc -Duser.language=en -Duser.country=US LOADING SOURCE FILES FOR PACKAGE p... CONSTRUCTING JAVADOC INFORMATION... If this works, we can avoid changing each test case individually. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From naoto at openjdk.java.net Thu Mar 24 22:11:30 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Thu, 24 Mar 2022 22:11:30 GMT Subject: RFR: 8282819: Deprecate Locale class constructors Message-ID: Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. ------------- Commit messages: - 8282819: Deprecate Locale class constructors Changes: https://git.openjdk.java.net/jdk/pull/7947/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7947&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282819 Stats: 904 lines in 196 files changed: 74 ins; 22 del; 808 mod Patch: https://git.openjdk.java.net/jdk/pull/7947.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7947/head:pull/7947 PR: https://git.openjdk.java.net/jdk/pull/7947 From smarks at openjdk.java.net Fri Mar 25 00:25:47 2022 From: smarks at openjdk.java.net (Stuart Marks) Date: Fri, 25 Mar 2022 00:25:47 GMT Subject: RFR: 8282819: Deprecate Locale class constructors In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 22:01:30 GMT, Naoto Sato wrote: > Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. Specs looks good, with minor modifications. I'm not so sure about replacement of the constructors with string concatenation with ternary operators; see my other comment. src/java.base/share/classes/java/util/Locale.java line 252: > 250: *

The {@code Locale} class provides a number of convenient constants > 251: * that you can use to obtain {@code Locale} objects for commonly used > 252: * locales. For example, the following obtains a {@code Locale} object I'd replace this part (and the example below) with something like, For example, {@code Locale.US} is the {@code Locale} object for the United States. src/java.base/share/classes/java/util/Locale.java line 2511: > 2509: * constructors, the {@code Builder} checks if a value configured by a > 2510: * setter satisfies the syntax requirements defined by the {@code Locale} > 2511: * class. A {@code Locale} object obtained by a {@code Builder} is ...obtained from a Builder... src/java.base/share/classes/java/util/Locale.java line 2526: > 2524: * > 2525: *

The following example shows how to obtain a {@code Locale} object > 2526: * with the {@code Builder}. ...shows how to obtain a Locale object using a Builder. src/java.base/share/classes/java/util/Locale.java line 2660: > 2658: * > 2659: *

The country value in the {@code Locale} obtained by the > 2660: * {@code Builder} is always normalized to upper case. ...obtained from a Builder... src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java line 375: > 373: (locale.getLanguage().isEmpty() ? "und" : locale.getLanguage()) + > 374: (locale.getCountry().isEmpty() ? "" : "-" + locale.getCountry()) + > 375: (locale.getVariant().isEmpty() ? "" : "-x-lvariant-" + locale.getVariant())); It seems like this snippet (and ones very similar to it) are repeated several times throughout the JDK code as replacements for the two- and three-arg constructors. This seems like a fair increase in complexity, and the use of "und" and "-x-lvariant-" are quite non-obvious. Would we recommend that third party code that uses the Locale constructors replace them with this snippet? Is there something better that we can provide? ------------- PR: https://git.openjdk.java.net/jdk/pull/7947 From naoto at openjdk.java.net Fri Mar 25 01:59:51 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Fri, 25 Mar 2022 01:59:51 GMT Subject: RFR: 8282819: Deprecate Locale class constructors In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 00:18:54 GMT, Stuart Marks wrote: >> Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. > > src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java line 375: > >> 373: (locale.getLanguage().isEmpty() ? "und" : locale.getLanguage()) + >> 374: (locale.getCountry().isEmpty() ? "" : "-" + locale.getCountry()) + >> 375: (locale.getVariant().isEmpty() ? "" : "-x-lvariant-" + locale.getVariant())); > > It seems like this snippet (and ones very similar to it) are repeated several times throughout the JDK code as replacements for the two- and three-arg constructors. This seems like a fair increase in complexity, and the use of "und" and "-x-lvariant-" are quite non-obvious. Would we recommend that third party code that uses the Locale constructors replace them with this snippet? Is there something better that we can provide? True. One solution could be to expose `Locale.getInstance()`, which is currently a package-private static method, for this purpose. Though that means promoting `ill-formed` locale objects which defy some part of the deprecation cause. ------------- PR: https://git.openjdk.java.net/jdk/pull/7947 From duke at openjdk.java.net Fri Mar 25 03:42:51 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Fri, 25 Mar 2022 03:42:51 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 17:30:22 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > polish I have updated the summary of this PR. > export JAVA_TOOL_OPTIONS='-Xlog:gc -Duser.language=en -Duser.country=US' > make test-only \ > TEST=test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java \ > JTREG_OPTIONS=-e:JAVA_TOOL_OPTIONS This does work for this test and tests that fail before. However, this will make some other tests fail, e.g. test/hotspot/jtreg/compiler/jvmci/TestInvalidJVMCIOption.java `JAVA_TOOL_OPTIONS` will produce a message in stderr, it seems there is no way to suppress it. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jjg at openjdk.java.net Fri Mar 25 04:24:18 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 04:24:18 GMT Subject: RFR: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent Message-ID: Please review a moderately simple set of changes to address issues found when using TaskListener to monitor the compilation of module-info and package-info files. A new test is provided. Full details and explanation in the JBS issue. ------------- Commit messages: - JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent Changes: https://git.openjdk.java.net/jdk/pull/7949/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7949&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283661 Stats: 197 lines in 3 files changed: 188 ins; 2 del; 7 mod Patch: https://git.openjdk.java.net/jdk/pull/7949.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7949/head:pull/7949 PR: https://git.openjdk.java.net/jdk/pull/7949 From duke at openjdk.java.net Fri Mar 25 09:58:49 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Fri, 25 Mar 2022 09:58:49 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS In-Reply-To: References: Message-ID: <_4V9lM22d8kfnd1AQCoQkPH16la9Ure8sXKMQJLF2cY=.4bcb8fcf-299a-4343-80af-b6d6f3f6d7b9@github.com> On Thu, 24 Mar 2022 14:06:03 GMT, Roger Riggs wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Can you look into why these tests do not fail on other OS's with the same locale? > There could be some other way that the locale defaults are used by the tests. @RogerRiggs I have tested that on Ubuntu 18.04 with zh locale. the above failed tests can succeed without any setting(LC environment or JTREG arg). The jtreg test runtime seems to set `LC_ALL=C` environment whatever the system `LC_ALL` is. some related example. In terminal typing `java` on ubuntu, the output is obviously system language chinese. then I set `export LC_ALL=C`, type `java` again, the output is english. On mac, setting `export LC_ALL=C` will make chinese characters become `???`. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jlahoda at openjdk.java.net Fri Mar 25 14:27:42 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Fri, 25 Mar 2022 14:27:42 GMT Subject: RFR: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: <_ZE76jVSvWNJICGXdn_q0sCFri37Z0FC4WxEcMWZ4Wk=.6655819d-053b-4439-99ab-48a1b3b151c6@github.com> On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. > _Mailing list message from [Ethan McCue](mailto:ethan at mccue.dev) on [compiler-dev](mailto:compiler-dev at mail.openjdk.java.net):_ > > Just curious, what do the translations of this key say? They are here: https://github.com/openjdk/jdk/blob/70648a6a153e5d321f78cf6445a9703f41083725/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties#L1103 https://github.com/openjdk/jdk/blob/70648a6a153e5d321f78cf6445a9703f41083725/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties#L1103 I am afraid I don't know what is the meaning of those. In any case - the key was an issue for translating, so I don't think we should keep it. > > If those are sufficiently funnier than what this one says then maybe it gets to stay. > > On Wed, Mar 23, 2022 at 11:00 PM Julian Waters wrote: > > -------------- next part -------------- An HTML attachment was scrubbed... URL: ------------- PR: https://git.openjdk.java.net/jdk/pull/7929 From rriggs at openjdk.java.net Fri Mar 25 15:40:46 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Fri, 25 Mar 2022 15:40:46 GMT Subject: RFR: 8282819: Deprecate Locale class constructors In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 22:01:30 GMT, Naoto Sato wrote: > Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. src/java.base/share/classes/java/util/Locale.java line 245: > 243: *

Factory Method

> 244: * > 245: *

The method {@link #forLanguageTag} obtains a {@code Locale} The factory name `forLanguageTag` is a bit off-putting, it doesn't seem like the best name for the factory. Yes, it already exists and does what's required but you might get better uptake with a more natural name. Some alternatives: - `Locale.of("en_US")` - short and conventional - `Locale.ofLanguage("en_US")` - 'of' prefix is used in other factories - `Locale.forLanguage("en_US")` - natural but less conventional ------------- PR: https://git.openjdk.java.net/jdk/pull/7947 From rriggs at openjdk.java.net Fri Mar 25 16:21:52 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Fri, 25 Mar 2022 16:21:52 GMT Subject: RFR: 8282819: Deprecate Locale class constructors In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 22:01:30 GMT, Naoto Sato wrote: > Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. Given the large number of cleanups, I would have suggested to keep them separate from the change to re-focus the API on factories. ------------- PR: https://git.openjdk.java.net/jdk/pull/7947 From naoto at openjdk.java.net Fri Mar 25 16:21:52 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Fri, 25 Mar 2022 16:21:52 GMT Subject: RFR: 8282819: Deprecate Locale class constructors In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 15:37:36 GMT, Roger Riggs wrote: >> Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail. > > src/java.base/share/classes/java/util/Locale.java line 245: > >> 243: *

Factory Method

>> 244: * >> 245: *

The method {@link #forLanguageTag} obtains a {@code Locale} > > The factory name `forLanguageTag` is a bit off-putting, it doesn't seem like the best name for the factory. > Yes, it already exists and does what's required but you might get better uptake with a more natural name. > > Some alternatives: > - `Locale.of("en_US")` - short and conventional > - `Locale.ofLanguage("en_US")` - 'of' prefix is used in other factories > - `Locale.forLanguage("en_US")` - natural but less conventional I was thinking of a *new* factory method, along the line with Stuart's suggestion, something like this: Locale.of(String... elements) where elements can either `(lang)`, `(lang, ctry)`, `(lang, ctry, vrnt)`, or `(lang, ctry, vrnt, scpt)`. Either element can be an empty string, but cannot be null. These elements are *not* language tags, but conventional arguments to constructors, so it is compatible (and works as a stop-gap) to the old constructors. This way third parties will not have to deal with the boilerplate code mentioned above on migration. ------------- PR: https://git.openjdk.java.net/jdk/pull/7947 From vromero at openjdk.java.net Fri Mar 25 17:52:43 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Fri, 25 Mar 2022 17:52:43 GMT Subject: RFR: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 04:17:02 GMT, Jonathan Gibbons wrote: > Please review a moderately simple set of changes to address issues found when using TaskListener to monitor the compilation of module-info and package-info files. > > A new test is provided. > > Full details and explanation in the JBS issue. looks good, just nit suggestion test/langtools/tools/javac/api/taskListeners/TestTypeElement.java line 72: > 70: @Override > 71: public void started(TaskEvent e) { > 72: log.println("started: " + e); you don't seem to be processing this output later on, I guess it could be removed, unless you want to keep it for debug reasons ------------- Marked as reviewed by vromero (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7949 From jlahoda at openjdk.java.net Fri Mar 25 20:05:45 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Fri, 25 Mar 2022 20:05:45 GMT Subject: RFR: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 04:17:02 GMT, Jonathan Gibbons wrote: > Please review a moderately simple set of changes to address issues found when using TaskListener to monitor the compilation of module-info and package-info files. > > A new test is provided. > > Full details and explanation in the JBS issue. Looks good to me. ------------- Marked as reviewed by jlahoda (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7949 From aturbanov at openjdk.java.net Fri Mar 25 20:23:08 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Fri, 25 Mar 2022 20:23:08 GMT Subject: RFR: 8283711: Remove redundant 'new String' calls after concatenation Message-ID: Result of string concatenation is a newly created String object. There is no need it wrap it in another 'new String' call. Such calls are confusing and produce warnings in IDE. Without them code is easier to read. Similar cleanup [JDK-8273375](https://bugs.openjdk.java.net/browse/JDK-8273375) in java.desktop ------------- Commit messages: - [PATCH] Remove redundant 'new String' calls after concatenation - [PATCH] Remove redundant 'new String' calls after concatenation Changes: https://git.openjdk.java.net/jdk/pull/7876/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7876&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283711 Stats: 13 lines in 3 files changed: 0 ins; 1 del; 12 mod Patch: https://git.openjdk.java.net/jdk/pull/7876.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7876/head:pull/7876 PR: https://git.openjdk.java.net/jdk/pull/7876 From wetmore at openjdk.java.net Fri Mar 25 20:49:53 2022 From: wetmore at openjdk.java.net (Bradford Wetmore) Date: Fri, 25 Mar 2022 20:49:53 GMT Subject: RFR: 8283711: Remove redundant 'new String' calls after concatenation In-Reply-To: References: Message-ID: On Sun, 20 Mar 2022 12:07:52 GMT, Andrey Turbanov wrote: > Result of string concatenation is a newly created String object. There is no need it wrap it in another 'new String' call. > Such calls are confusing and produce warnings in IDE. Without them code is easier to read. > Similar cleanup [JDK-8273375](https://bugs.openjdk.java.net/browse/JDK-8273375) in java.desktop LGTM. ------------- Marked as reviewed by wetmore (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7876 From vromero at openjdk.java.net Fri Mar 25 20:49:53 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Fri, 25 Mar 2022 20:49:53 GMT Subject: RFR: 8283711: Remove redundant 'new String' calls after concatenation In-Reply-To: References: Message-ID: On Sun, 20 Mar 2022 12:07:52 GMT, Andrey Turbanov wrote: > Result of string concatenation is a newly created String object. There is no need it wrap it in another 'new String' call. > Such calls are confusing and produce warnings in IDE. Without them code is easier to read. > Similar cleanup [JDK-8273375](https://bugs.openjdk.java.net/browse/JDK-8273375) in java.desktop the compiler changes looks good ------------- Marked as reviewed by vromero (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7876 From jjg at openjdk.java.net Fri Mar 25 21:20:52 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 21:20:52 GMT Subject: RFR: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 17:49:06 GMT, Vicente Romero wrote: >> Please review a moderately simple set of changes to address issues found when using TaskListener to monitor the compilation of module-info and package-info files. >> >> A new test is provided. >> >> Full details and explanation in the JBS issue. > > test/langtools/tools/javac/api/taskListeners/TestTypeElement.java line 72: > >> 70: @Override >> 71: public void started(TaskEvent e) { >> 72: log.println("started: " + e); > > you don't seem to be processing this output later on, I guess it could be removed, unless you want to keep it for debug reasons yeah, it's helpful to have the printed information in case things go wrong. ------------- PR: https://git.openjdk.java.net/jdk/pull/7949 From jjg at openjdk.java.net Fri Mar 25 21:20:52 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 21:20:52 GMT Subject: RFR: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 21:14:36 GMT, Jonathan Gibbons wrote: >> test/langtools/tools/javac/api/taskListeners/TestTypeElement.java line 72: >> >>> 70: @Override >>> 71: public void started(TaskEvent e) { >>> 72: log.println("started: " + e); >> >> you don't seem to be processing this output later on, I guess it could be removed, unless you want to keep it for debug reasons > > yeah, it's helpful to have the printed information in case things go wrong. Yeah, it is a convenient way of displaying the problems, if any. ------------- PR: https://git.openjdk.java.net/jdk/pull/7949 From jjg at openjdk.java.net Fri Mar 25 21:20:53 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 21:20:53 GMT Subject: Integrated: JDK-8283661: Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 04:17:02 GMT, Jonathan Gibbons wrote: > Please review a moderately simple set of changes to address issues found when using TaskListener to monitor the compilation of module-info and package-info files. > > A new test is provided. > > Full details and explanation in the JBS issue. This pull request has now been integrated. Changeset: 36b36efa Author: Jonathan Gibbons URL: https://git.openjdk.java.net/jdk/commit/36b36efa12876c592d9bf4b381887ecbf49bc2c9 Stats: 197 lines in 3 files changed: 188 ins; 2 del; 7 mod 8283661: Unexpected TypeElement in ANALYZE TaskEvent Reviewed-by: vromero, jlahoda ------------- PR: https://git.openjdk.java.net/jdk/pull/7949 From jjg at openjdk.java.net Fri Mar 25 22:57:56 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 22:57:56 GMT Subject: RFR: JDK-8283713: [BACKOUT] Unexpected TypeElement in ANALYZE TaskEvent Message-ID: This reverts commit 36b36efa12876c592d9bf4b381887ecbf49bc2c9. ------------- Commit messages: - Revert "8283661: Unexpected TypeElement in ANALYZE TaskEvent" Changes: https://git.openjdk.java.net/jdk/pull/7967/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7967&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283713 Stats: 197 lines in 3 files changed: 2 ins; 188 del; 7 mod Patch: https://git.openjdk.java.net/jdk/pull/7967.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7967/head:pull/7967 PR: https://git.openjdk.java.net/jdk/pull/7967 From prr at openjdk.java.net Fri Mar 25 23:16:40 2022 From: prr at openjdk.java.net (Phil Race) Date: Fri, 25 Mar 2022 23:16:40 GMT Subject: RFR: JDK-8283713: [BACKOUT] Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 22:52:17 GMT, Jonathan Gibbons wrote: > This reverts commit 36b36efa12876c592d9bf4b381887ecbf49bc2c9. Marked as reviewed by prr (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7967 From jjg at openjdk.java.net Fri Mar 25 23:23:43 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 23:23:43 GMT Subject: RFR: JDK-8283713: [BACKOUT] Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 23:13:36 GMT, Phil Race wrote: >> This reverts commit 36b36efa12876c592d9bf4b381887ecbf49bc2c9. > > Marked as reviewed by prr (Reviewer). Thanks, @prrace ------------- PR: https://git.openjdk.java.net/jdk/pull/7967 From jjg at openjdk.java.net Fri Mar 25 23:23:43 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Fri, 25 Mar 2022 23:23:43 GMT Subject: Integrated: JDK-8283713: [BACKOUT] Unexpected TypeElement in ANALYZE TaskEvent In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 22:52:17 GMT, Jonathan Gibbons wrote: > This reverts commit 36b36efa12876c592d9bf4b381887ecbf49bc2c9. This pull request has now been integrated. Changeset: 5ca8b918 Author: Jonathan Gibbons URL: https://git.openjdk.java.net/jdk/commit/5ca8b91898cfdcff1e44df3b7f3070a2111f770b Stats: 197 lines in 3 files changed: 2 ins; 188 del; 7 mod 8283713: [BACKOUT] Unexpected TypeElement in ANALYZE TaskEvent Reviewed-by: prr ------------- PR: https://git.openjdk.java.net/jdk/pull/7967 From duke at openjdk.java.net Sat Mar 26 14:41:15 2022 From: duke at openjdk.java.net (Ethan McCue) Date: Sat, 26 Mar 2022 14:41:15 GMT Subject: RFR: 8282149: Add missing XLint keys to man page Message-ID: Adds all the XLint options that were noted as missing in the man page by the issue. ------------- Commit messages: - Punctuation fix - Add missing XLint keys to man page Changes: https://git.openjdk.java.net/jdk/pull/7971/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7971&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282149 Stats: 10 lines in 1 file changed: 10 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7971.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7971/head:pull/7971 PR: https://git.openjdk.java.net/jdk/pull/7971 From xuelei at openjdk.java.net Sat Mar 26 14:54:46 2022 From: xuelei at openjdk.java.net (Xue-Lei Andrew Fan) Date: Sat, 26 Mar 2022 14:54:46 GMT Subject: RFR: 8283711: Remove redundant 'new String' calls after concatenation In-Reply-To: References: Message-ID: On Sun, 20 Mar 2022 12:07:52 GMT, Andrey Turbanov wrote: > Result of string concatenation is a newly created String object. There is no need it wrap it in another 'new String' call. > Such calls are confusing and produce warnings in IDE. Without them code is easier to read. > Similar cleanup [JDK-8273375](https://bugs.openjdk.java.net/browse/JDK-8273375) in java.desktop Good catches! ------------- Marked as reviewed by xuelei (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7876 From jjg at openjdk.java.net Sat Mar 26 16:00:41 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Sat, 26 Mar 2022 16:00:41 GMT Subject: RFR: 8282149: Some -Xlint keys are missing in javac man page In-Reply-To: References: Message-ID: On Sat, 26 Mar 2022 14:33:57 GMT, Ethan McCue wrote: > Adds all the XLint options that were noted as missing in the man page by the issue. Ethan, Generally, this is the wrong way to fix this issue. There is an upstream file that needs to be updated, and the result of converting that file to man-page format should then be copied here. ------------- PR: https://git.openjdk.java.net/jdk/pull/7971 From duke at openjdk.java.net Sat Mar 26 18:24:39 2022 From: duke at openjdk.java.net (Ethan McCue) Date: Sat, 26 Mar 2022 18:24:39 GMT Subject: RFR: 8282149: Some -Xlint keys are missing in javac man page In-Reply-To: References: Message-ID: On Sat, 26 Mar 2022 14:33:57 GMT, Ethan McCue wrote: > Adds all the XLint options that were noted as missing in the man page by the issue. The thought had crossed my mind, but i was unable to find such a file searching for snippets of the man file. $ rg "Warns about the accessing a static member using an" src/jdk.compiler/share/man/javac.1 816:\f[CB]static\f[R]: Warns about the accessing a static member using an Is the file in a separate repo? ------------- PR: https://git.openjdk.java.net/jdk/pull/7971 From darcy at openjdk.java.net Mon Mar 28 03:57:08 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Mon, 28 Mar 2022 03:57:08 GMT Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules Message-ID: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Informative update explicitly linking PackageElement objects to package-info.java files and ModuleElement objects to module-info.java files. I'll reflow the updated paragraph in javax.lang.model.element.package-info before pushing. Plain text update to PackageElement: The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. Plain text update to ModuleElement: The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. Plain text update to TypeElement (added for symmetry with above updates): The represented class or interface may have an explicit source code or executable output backing construct. Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to, a top-level class or interface and auxiliary classes and interfaces or a top-level class or interface and nested classes within it. ------------- Commit messages: - Various edits. - Update package-info file. - Fix more typos. - Add links and fix typos. - JDK-8283730: Improve discussion of modeling of packages and modules Changes: https://git.openjdk.java.net/jdk/pull/7980/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283730 Stats: 45 lines in 5 files changed: 43 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/7980.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7980/head:pull/7980 PR: https://git.openjdk.java.net/jdk/pull/7980 From dholmes at openjdk.java.net Mon Mar 28 05:16:47 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Mon, 28 Mar 2022 05:16:47 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: <3y6cpp5J4p9S6mrtHyt-BwzxE4-uiTv7-3I5_1AEaSk=.9ac62e7d-0806-49be-b1e4-d59ebcabeb84@github.com> On Thu, 24 Mar 2022 17:30:22 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > polish I do not think we should be trying to use JAVA_TOOL_OPTIONS to set "global" test arguments. If setting the locale via -javaoptions does not suffice due to the way tests spawn JVMs without passing on those arguments, then we should deal with the latter on a test-by-test basis IMO. I do not think there can be a single mechanism here that will always work. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Mon Mar 28 07:04:45 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 28 Mar 2022 07:04:45 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 17:30:22 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > polish Marked as reviewed by iklam (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Mon Mar 28 07:04:46 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 28 Mar 2022 07:04:46 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: <3y6cpp5J4p9S6mrtHyt-BwzxE4-uiTv7-3I5_1AEaSk=.9ac62e7d-0806-49be-b1e4-d59ebcabeb84@github.com> References: <3y6cpp5J4p9S6mrtHyt-BwzxE4-uiTv7-3I5_1AEaSk=.9ac62e7d-0806-49be-b1e4-d59ebcabeb84@github.com> Message-ID: On Mon, 28 Mar 2022 05:13:27 GMT, David Holmes wrote: > I do not think we should be trying to use JAVA_TOOL_OPTIONS to set "global" test arguments. If setting the locale via -javaoptions does not suffice due to the way tests spawn JVMs without passing on those arguments, then we should deal with the latter on a test-by-test basis IMO. I do not think there can be a single mechanism here that will always work. There's an ideal fix, but I am not sure if we are willing to go there -- instead of hard coding all the expected messages in English, the tests should get the expected output from the localization resources bundles from javac, javadoc, etc. Otherwise, the current fix is the best we can do. If a test expects an English output, then it should explicitly say so when spawning a new JVM. The reason that setting LC_ALL, LANG, etc doesn't work on MacOS is here: https://github.com/openjdk/jdk/blob/c2c0cb2a4372d78658326461562363de9a1a194f/src/java.base/macosx/native/libjava/java_props_macosx.c#L215-L223 The only case for this file to call `getenv("LANG")` is when `CFLocaleCopyPreferredLanguages()` returns an empty array. I did some googling but I can't find a way where you can affect the results of `CFLocaleCopyPreferredLanguages()` by twiddling with the settings in a terminal session. It doesn't work even if you use the per-app locale setting as described in here: https://osxdaily.com/2021/06/02/how-change-language-specific-apps-mac/ ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From dholmes at openjdk.java.net Mon Mar 28 07:29:41 2022 From: dholmes at openjdk.java.net (David Holmes) Date: Mon, 28 Mar 2022 07:29:41 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: <3y6cpp5J4p9S6mrtHyt-BwzxE4-uiTv7-3I5_1AEaSk=.9ac62e7d-0806-49be-b1e4-d59ebcabeb84@github.com> Message-ID: On Mon, 28 Mar 2022 07:00:18 GMT, Ioi Lam wrote: > If a test expects an English output, then it should explicitly say so when spawning a new JVM. The problem there is knowing when that is the case. For test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java the message "Main method not found in class" comes from the launcher and is a localized error string, but there is no way for the test author to know that without digging into the source to check. We have hundreds of tests that check exception messages and they are not affected by this problem as exception messages are not, it seems, localized. So there is a bit of an inconsistency in that regard. > There's an ideal fix, but I am not sure if we are willing to go there -- instead of hard coding all the expected messages in > English, the tests should get the expected output from the localization resources bundles from javac, javadoc, etc. How? There's no way to name the desired message so that you could ask for it. And you'd still need to know it was a message that was localized. The current fix seems okay as a patch of the current set of issues, but really there should be some way to avoid being hit by this with future tests IMO. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From rriggs at openjdk.java.net Mon Mar 28 13:54:51 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Mon, 28 Mar 2022 13:54:51 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: On Thu, 24 Mar 2022 17:30:22 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > polish In the longer term, I think its worth considering implementing LC_ALL as an override. I created an enhancement request for purposes of discussion. [JDK-8283697](https://bugs.openjdk.java.net/browse/JDK-8283697) On macOS, the locale cannot be set using LC_ALL environment value Jtreg does propagate LC_ALL to the subprocesses it spawns and it is documented. So I'm not sure an immediate fix is necessary if the manual workaround (changing macOs preferences) is suitable for a couple of weeks. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jlahoda at openjdk.java.net Mon Mar 28 14:56:49 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Mon, 28 Mar 2022 14:56:49 GMT Subject: Integrated: 8282943: Unused weird key in compiler.properties In-Reply-To: References: Message-ID: <7CrOmuUl6XD_5ICvMify1fHSqaPzrbr-P4qHqwluxBo=.48f39c3e-25b4-44f9-8072-33fba12d32a5@github.com> On Wed, 23 Mar 2022 19:16:50 GMT, Jan Lahoda wrote: > There is a weird key in `compiler.properties` in javac. This key is, to my knowledge, unused, so the proposal is to remove it. This pull request has now been integrated. Changeset: a5776567 Author: Jan Lahoda URL: https://git.openjdk.java.net/jdk/commit/a5776567720d66754002247101081c84b4f83442 Stats: 4 lines in 2 files changed: 0 ins; 4 del; 0 mod 8282943: Unused weird key in compiler.properties Reviewed-by: vromero ------------- PR: https://git.openjdk.java.net/jdk/pull/7929 From duke at openjdk.java.net Mon Mar 28 15:46:34 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Mon, 28 Mar 2022 15:46:34 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v3] In-Reply-To: References: Message-ID: > From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. > > However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. > > test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java > test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java > test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java > test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java > test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java > test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java > test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java > test/langtools/tools/javac/platform/PlatformProviderTest.java > test/langtools/tools/jdeps/MultiReleaseJar.java Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: fix by test-library ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7924/files - new: https://git.openjdk.java.net/jdk/pull/7924/files/24dda53e..75101787 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=01-02 Stats: 71 lines in 9 files changed: 36 ins; 17 del; 18 mod Patch: https://git.openjdk.java.net/jdk/pull/7924.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7924/head:pull/7924 PR: https://git.openjdk.java.net/jdk/pull/7924 From alex.buckley at oracle.com Mon Mar 28 16:08:18 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 28 Mar 2022 09:08:18 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Message-ID: <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> On 3/27/2022 8:57 PM, Joe Darcy wrote: > Plain text update to PackageElement: > > The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. For readability, prefer "may have an explicit backing construct (either source code or executable output) or may be created from implicit ...". The word "output" is a little strange in this context, since we're not discussing a compiler. You wouldn't look at a class file on a production system and call it "executable _output_". Alternative phrasing: "(in either source or binary form)" or "(either source code or a class file)". > Plain text update to ModuleElement: > > The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. Just as PackageElement spoke of "named packages without explicit declarations", ModuleElement should appeal to the same idea: "... to model unnamed modules and automatic modules". (Background info: JLS 7.7.1 notes that "The Java SE Platform distinguishes between named modules that are explicitly declared (that is, with a module declaration) and named modules that are implicitly declared (that is, automatic modules)." The specific platform spec where automatic modules are first class is java.lang.module.ModuleFinder::of.) Wait, what are "named packages without explicit declarations"? Alex From duke at openjdk.java.net Mon Mar 28 16:47:47 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Mon, 28 Mar 2022 16:47:47 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v3] In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 15:46:34 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > fix by test-library I have updated the fix-by-library version. and changing test library is do good for future tests, even with more locale support in jvm can make some tests fail I think. this version influence one test in tier-1. I think the previous commit is simpler and influence less. Adding `LC_ALL` support seems promising. I think this is not a small change. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From joe.darcy at oracle.com Mon Mar 28 16:50:58 2022 From: joe.darcy at oracle.com (Joe Darcy) Date: Mon, 28 Mar 2022 09:50:58 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> Message-ID: On 3/28/2022 9:08 AM, Alex Buckley wrote: > On 3/27/2022 8:57 PM, Joe Darcy wrote: >> Plain text update to PackageElement: >> >> The represented package may have an explicit source code or >> executable output backing construct or may be created from implicit >> information. The explicit source code construct for a package is >> typically a package-info.java file (JLS 7.4.1). Implicit information >> is used to model unnamed packages as well as named packages without >> explicit declarations. > > For readability, prefer "may have an explicit backing construct > (either source code or executable output) or may be created from > implicit ...". > > The word "output" is a little strange in this context, since we're not > discussing a compiler. You wouldn't look at a class file on a > production system and call it "executable _output_". Alternative > phrasing: "(in either source or binary form)" or "(either source code > or a class file)". > >> Plain text update to ModuleElement: >> >> The represented module may have an explicit source code or executable >> output backing construct or may be created from implicit information. >> The explicit source code construct for a module is typically a >> module-info.java file (JLS 7.7). Implicit information is used to >> model unnamed modules. > > Just as PackageElement spoke of "named packages without explicit > declarations", ModuleElement should appeal to the same idea: "... to > model unnamed modules and automatic modules". > > (Background info: JLS 7.7.1 notes that "The Java SE Platform > distinguishes between named modules that are explicitly declared (that > is, with a module declaration) and named modules that are implicitly > declared (that is, automatic modules)." The specific platform spec > where automatic modules are first class is > java.lang.module.ModuleFinder::of.) > > Wait, what are "named packages without explicit declarations"? > A package without a package-info file, but with classes or interfaces declared to be in that package. -Joe From alex.buckley at oracle.com Mon Mar 28 17:06:38 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 28 Mar 2022 10:06:38 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> Message-ID: On 3/28/2022 9:50 AM, Joe Darcy wrote: > On 3/28/2022 9:08 AM, Alex Buckley wrote: >> Wait, what are "named packages without explicit declarations"? >> > A package without a package-info file, but with classes or interfaces > declared to be in that package. Those classes and interfaces are thus declared in a compilation unit _that also contains a package declaration_. `package p;` is a first-class, full-strength, 100%-explicit package declaration whether it appears in Foo.java or package-info.java. I think the Language Model API is seeking the idea of "a named package with a _standalone_ declaration, i.e., the package declaration occurs in an otherwise empty compilation unit. Typically, this package declaration occurs in a source file called package-info.java." Alex From duke at openjdk.java.net Mon Mar 28 17:00:39 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Mon, 28 Mar 2022 17:00:39 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v4] In-Reply-To: References: Message-ID: <21e-mJzcWAauSAEVbW0Icg2ELKkADKi1IgpcshgObfQ=.c65f5570-de08-444f-b6a4-e37509862267@github.com> > From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. > > However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. > > test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java > test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java > test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java > test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java > test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java > test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java > test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java > test/langtools/tools/javac/platform/PlatformProviderTest.java > test/langtools/tools/jdeps/MultiReleaseJar.java Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: Locale.ENGLISH to Locale.US ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7924/files - new: https://git.openjdk.java.net/jdk/pull/7924/files/75101787..8c37ab5d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7924&range=02-03 Stats: 4 lines in 2 files changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/7924.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7924/head:pull/7924 PR: https://git.openjdk.java.net/jdk/pull/7924 From iklam at openjdk.java.net Mon Mar 28 17:14:48 2022 From: iklam at openjdk.java.net (Ioi Lam) Date: Mon, 28 Mar 2022 17:14:48 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v2] In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 13:51:17 GMT, Roger Riggs wrote: > In the longer term, I think its worth considering implementing LC_ALL as an override. I created an enhancement request for purposes of discussion. [JDK-8283697](https://bugs.openjdk.java.net/browse/JDK-8283697) On macOS, the locale cannot be set using LC_ALL environment value > > Jtreg does propagate LC_ALL to the subprocesses it spawns and it is documented. So I'm not sure an immediate fix is necessary if the manual workaround (changing macOs preferences) is suitable for a couple of weeks. Roger, do you plan to implement the LC_ALL fix shortly? If so, that may make this PR unnecessary. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From rriggs at openjdk.java.net Mon Mar 28 17:40:42 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Mon, 28 Mar 2022 17:40:42 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v4] In-Reply-To: <21e-mJzcWAauSAEVbW0Icg2ELKkADKi1IgpcshgObfQ=.c65f5570-de08-444f-b6a4-e37509862267@github.com> References: <21e-mJzcWAauSAEVbW0Icg2ELKkADKi1IgpcshgObfQ=.c65f5570-de08-444f-b6a4-e37509862267@github.com> Message-ID: On Mon, 28 Mar 2022 17:00:39 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > Locale.ENGLISH to Locale.US I will start the process, but it may take a couple of weeks, I expect some discussion about whether to support only LC_ALL vs all of the other env vars, (LANG, LC_*). And it will need a CSR. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From achung at openjdk.java.net Mon Mar 28 18:35:54 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Mon, 28 Mar 2022 18:35:54 GMT Subject: Integrated: 8280400: JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 9 Mar 2022 21:09:30 GMT, Alisen Chung wrote: > msg drop for jdk19, Mar 9, 2022 This pull request has now been integrated. Changeset: c0aecd15 Author: Alisen Chung Committer: Naoto Sato URL: https://git.openjdk.java.net/jdk/commit/c0aecd15ae8d7abf37901f785fccaff2317c3b23 Stats: 11316 lines in 139 files changed: 9124 ins; 1252 del; 940 mod 8280400: JDK 19 L10n resource files update - msgdrop 10 Reviewed-by: naoto, kizune ------------- PR: https://git.openjdk.java.net/jdk/pull/7765 From aturbanov at openjdk.java.net Mon Mar 28 19:16:44 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Mon, 28 Mar 2022 19:16:44 GMT Subject: Integrated: 8283711: Remove redundant 'new String' calls after concatenation In-Reply-To: References: Message-ID: On Sun, 20 Mar 2022 12:07:52 GMT, Andrey Turbanov wrote: > Result of string concatenation is a newly created String object. There is no need it wrap it in another 'new String' call. > Such calls are confusing and produce warnings in IDE. Without them code is easier to read. > Similar cleanup [JDK-8273375](https://bugs.openjdk.java.net/browse/JDK-8273375) in java.desktop This pull request has now been integrated. Changeset: d472c019 Author: Andrey Turbanov URL: https://git.openjdk.java.net/jdk/commit/d472c019344524aa20c74bdc4ab7823b6940be67 Stats: 13 lines in 3 files changed: 0 ins; 1 del; 12 mod 8283711: Remove redundant 'new String' calls after concatenation Reviewed-by: wetmore, vromero, xuelei ------------- PR: https://git.openjdk.java.net/jdk/pull/7876 From aturbanov at openjdk.java.net Mon Mar 28 19:26:03 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Mon, 28 Mar 2022 19:26:03 GMT Subject: RFR: 8283801: Cleanup confusing String.toString calls Message-ID: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> String.toString() calls doesn't make much sense. Only one place, where it could be used - to generate NPE. But in a few places of JDK codebase it's called, even when NPE will happen anyway. I propose to cleanup such places. Found by IntelliJ IDEA inspection `Redundant 'String' operation`. ------------- Commit messages: - [PATCH] Cleanup confusing String.toString calls Changes: https://git.openjdk.java.net/jdk/pull/7878/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7878&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283801 Stats: 14 lines in 4 files changed: 0 ins; 4 del; 10 mod Patch: https://git.openjdk.java.net/jdk/pull/7878.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7878/head:pull/7878 PR: https://git.openjdk.java.net/jdk/pull/7878 From joe.darcy at oracle.com Mon Mar 28 20:00:54 2022 From: joe.darcy at oracle.com (Joseph D. Darcy) Date: Mon, 28 Mar 2022 13:00:54 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> Message-ID: On 3/28/2022 10:06 AM, Alex Buckley wrote: > On 3/28/2022 9:50 AM, Joe Darcy wrote: >> On 3/28/2022 9:08 AM, Alex Buckley wrote: >>> Wait, what are "named packages without explicit declarations"? >>> >> A package without a package-info file, but with classes or interfaces >> declared to be in that package. > > Those classes and interfaces are thus declared in a compilation unit > _that also contains a package declaration_. `package p;` is a > first-class, full-strength, 100%-explicit package declaration whether > it appears in Foo.java or package-info.java. I think the Language > Model API is seeking the idea of "a named package with a _standalone_ > declaration, i.e., the package declaration occurs in an otherwise > empty compilation unit. Typically, this package declaration occurs in > a source file called package-info.java." Plain text of review apiNotes: PackageElement The represented package may have an explicit backing construct (either source code or executable output) or may be created from implicit information. The explicit and standalone source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages. ModuleElement The represented module may have an explicit backing construct (either source code or executable output) or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. TypeElement The represented class or interface may have an explicit backing construct (either source code or executable output). Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to: ??? a top-level class or interface and auxiliary classes and interfaces ??? a top-level class or interface and nested class and interfaces within it Thanks, -Joe From darcy at openjdk.java.net Mon Mar 28 20:03:24 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Mon, 28 Mar 2022 20:03:24 GMT Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules [v2] In-Reply-To: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Message-ID: <1x3AXOk1MHScTtgFBkkgbuIKOh8jLC_lGSGKQPu992Q=.8f01f5b4-76c1-4fac-a33c-6ff239c87025@github.com> > Informative update explicitly linking PackageElement objects to package-info.java files and ModuleElement objects to module-info.java files. > > I'll reflow the updated paragraph in javax.lang.model.element.package-info before pushing. > > Plain text update to PackageElement: > > The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. > > Plain text update to ModuleElement: > > The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. > > Plain text update to TypeElement (added for symmetry with above updates): > > The represented class or interface may have an explicit source code or executable output backing construct. Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to, a top-level class or interface and auxiliary classes and interfaces or a top-level class or interface and nested classes within it. Joe Darcy has updated the pull request incrementally with one additional commit since the last revision: Respond to review feedback. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7980/files - new: https://git.openjdk.java.net/jdk/pull/7980/files/8892922f..109227de Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=00-01 Stats: 27 lines in 3 files changed: 7 ins; 3 del; 17 mod Patch: https://git.openjdk.java.net/jdk/pull/7980.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7980/head:pull/7980 PR: https://git.openjdk.java.net/jdk/pull/7980 From alex.buckley at oracle.com Mon Mar 28 20:05:43 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 28 Mar 2022 13:05:43 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> Message-ID: <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> On 3/28/2022 1:00 PM, Joseph D. Darcy wrote: > ModuleElement > > The represented module may have an explicit backing construct (either > source code or executable output) or may be created from implicit > information. The explicit source code construct for a module is > typically a module-info.java file (JLS 7.7). Implicit information is > used to model unnamed modules. What happened to "automatic modules" per my initial mail??? Alex From bpb at openjdk.java.net Mon Mar 28 20:14:48 2022 From: bpb at openjdk.java.net (Brian Burkhalter) Date: Mon, 28 Mar 2022 20:14:48 GMT Subject: RFR: 8283801: Cleanup confusing String.toString calls In-Reply-To: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> References: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> Message-ID: On Sun, 20 Mar 2022 13:20:31 GMT, Andrey Turbanov wrote: > String.toString() calls doesn't make much sense. Only one place, where it could be used - to generate NPE. But in a few places of JDK codebase it's called, even when NPE will happen anyway. > I propose to cleanup such places. > Found by IntelliJ IDEA inspection `Redundant 'String' operation`. Likewise, please add a `noreg-` label to the issue, perhaps `noreg-cleanup`. Otherwise fine. ------------- Marked as reviewed by bpb (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7878 From achung at openjdk.java.net Mon Mar 28 21:30:15 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Mon, 28 Mar 2022 21:30:15 GMT Subject: RFR: 8283806: [BACKOUT] JDK 19 L10n resource files update - msgdrop 10 Message-ID: This reverts commit c0aecd15ae8d7abf37901f785fccaff2317c3b23. ------------- Commit messages: - Revert "8280400: JDK 19 L10n resource files update - msgdrop 10" Changes: https://git.openjdk.java.net/jdk/pull/8005/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8005&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283806 Stats: 11316 lines in 139 files changed: 1252 ins; 9124 del; 940 mod Patch: https://git.openjdk.java.net/jdk/pull/8005.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8005/head:pull/8005 PR: https://git.openjdk.java.net/jdk/pull/8005 From kcr at openjdk.java.net Mon Mar 28 21:30:16 2022 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Mon, 28 Mar 2022 21:30:16 GMT Subject: RFR: 8283806: [BACKOUT] JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 21:20:00 GMT, Alisen Chung wrote: > This reverts commit c0aecd15ae8d7abf37901f785fccaff2317c3b23. I confirm that this is an exact backout of [JDK-8280400](https://bugs.openjdk.java.net/browse/JDK-8280400). ------------- Marked as reviewed by kcr (Author). PR: https://git.openjdk.java.net/jdk/pull/8005 From joe.darcy at oracle.com Mon Mar 28 21:38:57 2022 From: joe.darcy at oracle.com (Joseph D. Darcy) Date: Mon, 28 Mar 2022 14:38:57 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> Message-ID: On 3/28/2022 1:05 PM, Alex Buckley wrote: > On 3/28/2022 1:00 PM, Joseph D. Darcy wrote: >> ModuleElement >> >> The represented module may have an explicit backing construct (either >> source code or executable output) or may be created from implicit >> information. The explicit source code construct for a module is >> typically a module-info.java file (JLS 7.7). Implicit information is >> used to model unnamed modules. > > What happened to "automatic modules" per my initial mail??? > Update for automatic modules; new plain text: "The represented module may have an explicit backing construct (either source code or executable output) or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules and automatic modules (JLS 7.7.1)." Thanks, From darcy at openjdk.java.net Mon Mar 28 21:41:27 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Mon, 28 Mar 2022 21:41:27 GMT Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules [v3] In-Reply-To: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Message-ID: > Informative update explicitly linking PackageElement objects to package-info.java files and ModuleElement objects to module-info.java files. > > I'll reflow the updated paragraph in javax.lang.model.element.package-info before pushing. > > Plain text update to PackageElement: > > The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. > > Plain text update to ModuleElement: > > The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. > > Plain text update to TypeElement (added for symmetry with above updates): > > The represented class or interface may have an explicit source code or executable output backing construct. Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to, a top-level class or interface and auxiliary classes and interfaces or a top-level class or interface and nested classes within it. Joe Darcy has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision: - Add discussion of automatic modules. - Merge branch 'master' into JDK-8283730 - Respond to review feedback. - Various edits. - Update package-info file. - Fix more typos. - Add links and fix typos. - JDK-8283730: Improve discussion of modeling of packages and modules ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7980/files - new: https://git.openjdk.java.net/jdk/pull/7980/files/109227de..4652121c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=01-02 Stats: 12046 lines in 171 files changed: 9712 ins; 1280 del; 1054 mod Patch: https://git.openjdk.java.net/jdk/pull/7980.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7980/head:pull/7980 PR: https://git.openjdk.java.net/jdk/pull/7980 From naoto at openjdk.java.net Mon Mar 28 22:44:36 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Mon, 28 Mar 2022 22:44:36 GMT Subject: RFR: 8283806: [BACKOUT] JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 21:20:00 GMT, Alisen Chung wrote: > This reverts commit c0aecd15ae8d7abf37901f785fccaff2317c3b23. LGTM ------------- Marked as reviewed by naoto (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/8005 From alex.buckley at oracle.com Mon Mar 28 22:49:20 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 28 Mar 2022 15:49:20 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> Message-ID: <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> On 3/28/2022 2:38 PM, Joseph D. Darcy wrote: > On 3/28/2022 1:05 PM, Alex Buckley wrote: >> On 3/28/2022 1:00 PM, Joseph D. Darcy wrote: >>> ModuleElement >>> >>> The represented module may have an explicit backing construct (either >>> source code or executable output) or may be created from implicit >>> information. The explicit source code construct for a module is >>> typically a module-info.java file (JLS 7.7). Implicit information is >>> used to model unnamed modules. >> >> What happened to "automatic modules" per my initial mail??? >> > Update for automatic modules; new plain text: > > "The represented module may have an explicit backing construct (either > source code or executable output) or may be created from implicit > information. The explicit source code construct for a module is > typically a module-info.java file (JLS 7.7). Implicit information is > used to model unnamed modules and automatic modules (JLS 7.7.1)." It's good that automatic modules are mentioned, though it makes me wonder if the `Automatic-Module-Name` attribute of a JAR manifest is ever used to determine the `get*Name()` of a ModuleElement? If so, that's explicit information, not implicit. Alex From achung at openjdk.java.net Mon Mar 28 23:40:44 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Mon, 28 Mar 2022 23:40:44 GMT Subject: Integrated: 8283806: [BACKOUT] JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 21:20:00 GMT, Alisen Chung wrote: > This reverts commit c0aecd15ae8d7abf37901f785fccaff2317c3b23. This pull request has now been integrated. Changeset: 634800a5 Author: Alisen Chung Committer: Naoto Sato URL: https://git.openjdk.java.net/jdk/commit/634800a536e7f9d148a4caa2663a60a2c5fc4929 Stats: 11316 lines in 139 files changed: 1252 ins; 9124 del; 940 mod 8283806: [BACKOUT] JDK 19 L10n resource files update - msgdrop 10 Reviewed-by: kcr, naoto ------------- PR: https://git.openjdk.java.net/jdk/pull/8005 From joe.darcy at oracle.com Tue Mar 29 01:30:29 2022 From: joe.darcy at oracle.com (Joseph D. Darcy) Date: Mon, 28 Mar 2022 18:30:29 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> Message-ID: On 3/28/2022 3:49 PM, Alex Buckley wrote: > On 3/28/2022 2:38 PM, Joseph D. Darcy wrote: >> On 3/28/2022 1:05 PM, Alex Buckley wrote: >>> On 3/28/2022 1:00 PM, Joseph D. Darcy wrote: >>>> ModuleElement >>>> >>>> The represented module may have an explicit backing construct >>>> (either source code or executable output) or may be created from >>>> implicit information. The explicit source code construct for a >>>> module is typically a module-info.java file (JLS 7.7). Implicit >>>> information is used to model unnamed modules. >>> >>> What happened to "automatic modules" per my initial mail??? >>> >> Update for automatic modules; new plain text: >> >> "The represented module may have an explicit backing construct >> (either source code or executable output) or may be created from >> implicit information. The explicit source code construct for a module >> is typically a module-info.java file (JLS 7.7). Implicit information >> is used to model unnamed modules and automatic modules (JLS 7.7.1)." > > It's good that automatic modules are mentioned, though it makes me > wonder if the `Automatic-Module-Name` attribute of a JAR manifest is > ever used to determine the `get*Name()` of a ModuleElement? If so, > that's explicit information, not implicit. Okay; I added the "standalone" adjective to describe module-info file, paralleling the wording used to describe package-info and added "[implicit information] may be used" for for automatic modules: "The represented module may have an explicit backing construct (either source code or executable output) or may be created from implicit information. The explicit and standalone source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules and may be used for automatic modules (JLS 7.7.1)." (I think an explicit module-info.java file has a different degree of explicitness than an Automatic-Module-Name attribute, but don't think describing possibilities of Automatic-Module-Name attributes would be helpful in this context.) From darcy at openjdk.java.net Tue Mar 29 01:30:30 2022 From: darcy at openjdk.java.net (Joe Darcy) Date: Tue, 29 Mar 2022 01:30:30 GMT Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules [v4] In-Reply-To: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Message-ID: > Informative update explicitly linking PackageElement objects to package-info.java files and ModuleElement objects to module-info.java files. > > I'll reflow the updated paragraph in javax.lang.model.element.package-info before pushing. > > Plain text update to PackageElement: > > The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. > > Plain text update to ModuleElement: > > The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. > > Plain text update to TypeElement (added for symmetry with above updates): > > The represented class or interface may have an explicit source code or executable output backing construct. Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to, a top-level class or interface and auxiliary classes and interfaces or a top-level class or interface and nested classes within it. Joe Darcy has updated the pull request incrementally with one additional commit since the last revision: Further refine discussion of ModuleElement. ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/7980/files - new: https://git.openjdk.java.net/jdk/pull/7980/files/4652121c..c146bbca Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7980&range=02-03 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/7980.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7980/head:pull/7980 PR: https://git.openjdk.java.net/jdk/pull/7980 From jlahoda at openjdk.java.net Tue Mar 29 07:40:51 2022 From: jlahoda at openjdk.java.net (Jan Lahoda) Date: Tue, 29 Mar 2022 07:40:51 GMT Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules [v4] In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> Message-ID: On Tue, 29 Mar 2022 01:30:30 GMT, Joe Darcy wrote: >> Informative update explicitly linking PackageElement objects to package-info.java files and ModuleElement objects to module-info.java files. >> >> I'll reflow the updated paragraph in javax.lang.model.element.package-info before pushing. >> >> Plain text update to PackageElement: >> >> The represented package may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a package is typically a package-info.java file (JLS 7.4.1). Implicit information is used to model unnamed packages as well as named packages without explicit declarations. >> >> Plain text update to ModuleElement: >> >> The represented module may have an explicit source code or executable output backing construct or may be created from implicit information. The explicit source code construct for a module is typically a module-info.java file (JLS 7.7). Implicit information is used to model unnamed modules. >> >> Plain text update to TypeElement (added for symmetry with above updates): >> >> The represented class or interface may have an explicit source code or executable output backing construct. Multiple classes and interfaces can share the same backing construct. For example, multiple classes and interface can be declared in the same source file, including, but are not limited to, a top-level class or interface and auxiliary classes and interfaces or a top-level class or interface and nested classes within it. > > Joe Darcy has updated the pull request incrementally with one additional commit since the last revision: > > Further refine discussion of ModuleElement. src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java line 59: > 57: * The represented class or interface may have an explicit backing > 58: * construct (either {@linkplain > 59: * javax.annotation.processing.Filer#createSourceFile(CharSequence, The `Filer` references here feel a bit weird. While most `TypeElement`s presumably have an explicit backing construct (i.e. a file), I suspect that only minority of the backing constructs are created using a `Filer`, but the text suggests(?) that all `TypeElement`s with a backing construct are created via `Filer`. ------------- PR: https://git.openjdk.java.net/jdk/pull/7980 From alex.buckley at oracle.com Tue Mar 29 16:18:51 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Tue, 29 Mar 2022 09:18:51 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> Message-ID: <1bdc0244-bfd7-d40d-69b1-4126fb5de69a@oracle.com> On 3/28/2022 6:30 PM, Joseph D. Darcy wrote: > Okay; I added the "standalone" adjective to describe module-info file, > paralleling the wording used to describe package-info and added > "[implicit information] may be used" for for automatic modules: > > "The represented module may have an explicit backing construct (either > source code or executable output) or may be created from implicit > information. The explicit and standalone source code construct for a > module is typically a module-info.java file (JLS 7.7). Implicit > information is used to model unnamed modules and may be used for > automatic modules (JLS 7.7.1)." > > (I think an explicit module-info.java file has a different degree of > explicitness than an Automatic-Module-Name attribute, but don't think > describing possibilities of Automatic-Module-Name attributes would be > helpful in this context.) As a reader, I can't tell if an automatic module is going to be exposed as a ModuleElement, and if it is, where the name is going to originate. In other words, saying that _implicit_ info _may_ be used to model a first-class platform concept is too weak IMO. Alex From duke at openjdk.java.net Tue Mar 29 17:08:46 2022 From: duke at openjdk.java.net (Vikey Chen) Date: Tue, 29 Mar 2022 17:08:46 GMT Subject: RFR: 8283606: Tests may fail with zh locale on MacOS [v4] In-Reply-To: <21e-mJzcWAauSAEVbW0Icg2ELKkADKi1IgpcshgObfQ=.c65f5570-de08-444f-b6a4-e37509862267@github.com> References: <21e-mJzcWAauSAEVbW0Icg2ELKkADKi1IgpcshgObfQ=.c65f5570-de08-444f-b6a4-e37509862267@github.com> Message-ID: On Mon, 28 Mar 2022 17:00:39 GMT, Vikey Chen wrote: >> From the test doc of openjdk https://openjdk.java.net/groups/build/doc/testing.html >>> If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting LANG="en_US" in the environment before running tests should work. On Windows or MacOS, setting JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" helps for most, but not all test cases. >> >> However, on MacOS 12.1, running `make test-tier1 JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` command for tier-1 test, some tests still fail, including the following in tier-1.The tests expects output messages in English, but Chinese message are still produced. >> >> test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java >> test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java >> test/langtools/jdk/javadoc/tool/6964914/TestUserDoclet.java >> test/langtools/jdk/javadoc/tool/EnsureNewOldDoclet.java >> test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java >> test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java >> test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java >> test/langtools/tools/javac/platform/PlatformProviderTest.java >> test/langtools/tools/jdeps/MultiReleaseJar.java > > Vikey Chen has updated the pull request incrementally with one additional commit since the last revision: > > Locale.ENGLISH to Locale.US I have tested some of the failed 9 tests above on windows with `Cygwin`. The tests fail as i thought. I think this PR can have an effect for windows users, too. On windows the default locale seems to be determined by system api, too. ------------- PR: https://git.openjdk.java.net/jdk/pull/7924 From jjg at openjdk.java.net Wed Mar 30 00:48:37 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Wed, 30 Mar 2022 00:48:37 GMT Subject: RFR: 8282149: Some -Xlint keys are missing in javac man page In-Reply-To: References: Message-ID: On Sat, 26 Mar 2022 18:21:08 GMT, Ethan McCue wrote: > The thought had crossed my mind, but i was unable to find such a file searching for snippets of the man file. > > ``` > $ rg "Warns about the accessing a static member using an" > src/jdk.compiler/share/man/javac.1 > 816:\f[CB]static\f[R]: Warns about the accessing a static member using an > ``` > > Is the file in a separate repo? Yes, but it's not in a public repo. ------------- PR: https://git.openjdk.java.net/jdk/pull/7971 From achung at openjdk.java.net Wed Mar 30 00:54:29 2022 From: achung at openjdk.java.net (Alisen Chung) Date: Wed, 30 Mar 2022 00:54:29 GMT Subject: RFR: 8283805: [REDO] JDK 19 L10n resource files update - msgdrop 10 Message-ID: redo of 8280400 ------------- Commit messages: - 8280400: JDK 19 L10n resource files update - msgdrop 10 Changes: https://git.openjdk.java.net/jdk/pull/8026/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8026&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283805 Stats: 11316 lines in 139 files changed: 9124 ins; 1252 del; 940 mod Patch: https://git.openjdk.java.net/jdk/pull/8026.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8026/head:pull/8026 PR: https://git.openjdk.java.net/jdk/pull/8026 From duke at openjdk.java.net Wed Mar 30 02:44:37 2022 From: duke at openjdk.java.net (Ethan McCue) Date: Wed, 30 Mar 2022 02:44:37 GMT Subject: RFR: 8282149: Some -Xlint keys are missing in javac man page In-Reply-To: References: Message-ID: On Sat, 26 Mar 2022 14:33:57 GMT, Ethan McCue wrote: > Adds all the XLint options that were noted as missing in the man page by the issue. ?? ------------- PR: https://git.openjdk.java.net/jdk/pull/7971 From kcr at openjdk.java.net Wed Mar 30 11:35:38 2022 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Wed, 30 Mar 2022 11:35:38 GMT Subject: RFR: 8283805: [REDO] JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 30 Mar 2022 00:43:49 GMT, Alisen Chung wrote: > redo of 8280400 Since this is identical to the original fix, I would expect the same Tier2 test failure as reported in [JDK-8283804](https://bugs.openjdk.java.net/browse/JDK-8283804). ------------- PR: https://git.openjdk.java.net/jdk/pull/8026 From naoto at openjdk.java.net Wed Mar 30 15:48:38 2022 From: naoto at openjdk.java.net (Naoto Sato) Date: Wed, 30 Mar 2022 15:48:38 GMT Subject: RFR: 8283805: [REDO] JDK 19 L10n resource files update - msgdrop 10 In-Reply-To: References: Message-ID: On Wed, 30 Mar 2022 00:43:49 GMT, Alisen Chung wrote: > redo of 8280400 I believe `src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_zh_CN.properties` and `test/jdk/sun/text/resources/LocaleData` have to be adjusted according to the l10n changes. ------------- PR: https://git.openjdk.java.net/jdk/pull/8026 From jjg at openjdk.java.net Wed Mar 30 17:13:39 2022 From: jjg at openjdk.java.net (Jonathan Gibbons) Date: Wed, 30 Mar 2022 17:13:39 GMT Subject: RFR: 8281705: SourceLauncherTest.testSystemProperty isn't being run [v2] In-Reply-To: References: Message-ID: On Wed, 23 Feb 2022 01:42:26 GMT, Jaikiran Pai wrote: >> Can I please get a review of this test-only change which fixes the issue noted in https://bugs.openjdk.java.net/browse/JDK-8281705? >> >> The change in this commit adds the `@Test` annotation on the test method to make sure it gets run. Before this change, the test run logs showed that `28 tests` were being run and now after this change, the logs report `29 tests` and I can see `testSystemProperty` in the test run logs. > > Jaikiran Pai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: > > - Merge latest from master branch > - 8281705: SourceLauncherTest.testSystemProperty isn't being run Marked as reviewed by jjg (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/7456 From aturbanov at openjdk.java.net Wed Mar 30 21:11:53 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Wed, 30 Mar 2022 21:11:53 GMT Subject: RFR: 8274425: Remove unused Modules.extraLimitMods [v2] In-Reply-To: <_VSeie5GC-sPX0apREmPYJCW__5cwX-EdClVUMJMlls=.84b4e3eb-7f53-438a-b180-588e67d9f3df@github.com> References: <3XU4OpaQ6kW3DXLru4uScWtbIQBiYgHyoUPBdkkoo-g=.bd1ac042-fb54-4b37-9433-d4c0c5990e6f@github.com> <_VSeie5GC-sPX0apREmPYJCW__5cwX-EdClVUMJMlls=.84b4e3eb-7f53-438a-b180-588e67d9f3df@github.com> Message-ID: On Mon, 10 Jan 2022 11:08:52 GMT, Andrey Turbanov wrote: >> HashSet `com.sun.tools.javac.comp.Modules.extraLimitMods` is always empty. Code only check its content, but no content added. >> There was a method `addExtraLimitModules`, but it was removed under [JDK-8175191](https://bugs.openjdk.java.net/browse/JDK-8175191) 253fdcd0b26 >> Method `addExtraLimitModules` itself was added in ec9ca2997f4, but was never actually used . > > Andrey Turbanov has updated the pull request incrementally with one additional commit since the last revision: > > 8274425: Remove unused Modules.extraLimitMods > > update copyright year Let's wait for reviewers a bit more ------------- PR: https://git.openjdk.java.net/jdk/pull/5628 From aturbanov at openjdk.java.net Wed Mar 30 21:12:38 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Wed, 30 Mar 2022 21:12:38 GMT Subject: RFR: 8283801: Cleanup confusing String.toString calls In-Reply-To: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> References: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> Message-ID: On Sun, 20 Mar 2022 13:20:31 GMT, Andrey Turbanov wrote: > String.toString() calls doesn't make much sense. Only one place, where it could be used - to generate NPE. But in a few places of JDK codebase it's called, even when NPE will happen anyway. > I propose to cleanup such places. > Found by IntelliJ IDEA inspection `Redundant 'String' operation`. Thank you for review! ------------- PR: https://git.openjdk.java.net/jdk/pull/7878 From aturbanov at openjdk.java.net Wed Mar 30 21:12:39 2022 From: aturbanov at openjdk.java.net (Andrey Turbanov) Date: Wed, 30 Mar 2022 21:12:39 GMT Subject: Integrated: 8283801: Cleanup confusing String.toString calls In-Reply-To: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> References: <-ZqXmYduQRz20bw-aAD90xx3DLNuq4xoM6Wi4zWN520=.21c06a63-7038-4c0c-ae06-f708b8cbbb64@github.com> Message-ID: <1DfFA9Sufk6AM1kJgYtrpel08vkM3z2yvQUj7PIPZIk=.bf733b72-954c-4764-aad9-134956d42717@github.com> On Sun, 20 Mar 2022 13:20:31 GMT, Andrey Turbanov wrote: > String.toString() calls doesn't make much sense. Only one place, where it could be used - to generate NPE. But in a few places of JDK codebase it's called, even when NPE will happen anyway. > I propose to cleanup such places. > Found by IntelliJ IDEA inspection `Redundant 'String' operation`. This pull request has now been integrated. Changeset: b8dd21b7 Author: Andrey Turbanov URL: https://git.openjdk.java.net/jdk/commit/b8dd21b790f36450de9aa0acc56251715b1a33e9 Stats: 14 lines in 4 files changed: 0 ins; 4 del; 10 mod 8283801: Cleanup confusing String.toString calls Reviewed-by: bpb ------------- PR: https://git.openjdk.java.net/jdk/pull/7878 From duke at openjdk.java.net Wed Mar 30 22:01:39 2022 From: duke at openjdk.java.net (Ethan McCue) Date: Wed, 30 Mar 2022 22:01:39 GMT Subject: RFR: 8282149: Some -Xlint keys are missing in javac man page In-Reply-To: References: Message-ID: On Sat, 26 Mar 2022 14:33:57 GMT, Ethan McCue wrote: > Adds all the XLint options that were noted as missing in the man page by the issue. So is there a next step or should I put this down until an Oracle employee has time? ------------- PR: https://git.openjdk.java.net/jdk/pull/7971 From joe.darcy at oracle.com Thu Mar 31 01:49:41 2022 From: joe.darcy at oracle.com (Joseph D. Darcy) Date: Wed, 30 Mar 2022 18:49:41 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <1bdc0244-bfd7-d40d-69b1-4126fb5de69a@oracle.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> <1bdc0244-bfd7-d40d-69b1-4126fb5de69a@oracle.com> Message-ID: <5b931bdf-2081-bf92-7e72-9da43628be09@oracle.com> On 3/29/2022 9:18 AM, Alex Buckley wrote: > On 3/28/2022 6:30 PM, Joseph D. Darcy wrote: >> Okay; I added the "standalone" adjective to describe module-info >> file, paralleling the wording used to describe package-info and added >> "[implicit information] may be used" for for automatic modules: >> >> "The represented module may have an explicit backing construct >> (either source code or executable output) or may be created from >> implicit information. The explicit and standalone source code >> construct for a module is typically a module-info.java file (JLS >> 7.7). Implicit information is used to model unnamed modules and may >> be used for automatic modules (JLS 7.7.1)." >> >> (I think an explicit module-info.java file has a different degree of >> explicitness than an Automatic-Module-Name attribute, but don't think >> describing possibilities of Automatic-Module-Name attributes would be >> helpful in this context.) > > As a reader, I can't tell if an automatic module is going to be > exposed as a ModuleElement, and if it is, where the name is going to > originate. In other words, saying that _implicit_ info _may_ be used > to model a first-class platform concept is too weak IMO. > In the full javadoc rendering of the text in question, "automatic modules" in "Implicit information is used to model unnamed modules and may be used for automatic modules..." is a link to the utility method javax.lang.model.util.Elements.isAutomaticModule, from which reader could infer that a full implementation of the language model includes support for automatic modules. Consistent with other aspect of the design of javax.lang.model, there are not explicit statements along the lines of "If the backing store is a class file, then the return value of method Foo is constructed from class file (or jar file) binary attribute Bar under the following transformation..." Rather the background statement from the javax.lang.model.element package ??? "When used in the context of annotation processing, an accurate model of the element being represented must be returned." is used to guide general expectations. -Joe From alex.buckley at oracle.com Thu Mar 31 15:42:19 2022 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 31 Mar 2022 08:42:19 -0700 Subject: RFR: JDK-8283730: Improve discussion of modeling of packages and modules In-Reply-To: <5b931bdf-2081-bf92-7e72-9da43628be09@oracle.com> References: <4Jm4gm4qI4gPUS9nv7x1KS_tu1Vye5JIHHv-8Rjw4GQ=.f3dabf9c-bcee-484e-a765-e924f312f768@github.com> <14405ccd-9c00-dcea-4ce8-3826d235bf5d@oracle.com> <459802b9-867a-8102-5841-5c88c0051bca@oracle.com> <5fefb5fd-9ef5-d05e-c227-f8bce8a77436@oracle.com> <1bdc0244-bfd7-d40d-69b1-4126fb5de69a@oracle.com> <5b931bdf-2081-bf92-7e72-9da43628be09@oracle.com> Message-ID: On 3/30/2022 6:49 PM, Joseph D. Darcy wrote: > On 3/29/2022 9:18 AM, Alex Buckley wrote: >> On 3/28/2022 6:30 PM, Joseph D. Darcy wrote: >>> "The represented module may have an explicit backing construct >>> (either source code or executable output) or may be created from >>> implicit information. The explicit and standalone source code >>> construct for a module is typically a module-info.java file (JLS >>> 7.7). Implicit information is used to model unnamed modules and >>> may be used for automatic modules (JLS 7.7.1)." > > In the full javadoc rendering of the text in question, "automatic > modules" ... is a link to the utility method > javax.lang.model.util.Elements.isAutomaticModule, from which reader > could infer that ... > > Consistent with other aspect of the design of javax.lang.model, ... OK. However, I have strong reservations about whether the subclause "and standalone" is effective at communicating what we want. The factoring is not quite right -- a better factoring would be "The explicit source code construct for a module is typically a standalone module-info.java file". And for PackageElement: "The explicit source code construct for a package is typically a standalone package-info.java file." Alex