jdk
jdk copied to clipboard
8335638: Calling VarHandle.{access-mode} methods reflectively throws wrong exception
Similar to how MethodHandle#invoke(Exact) methods are already handled, this change adds special casing for VarHandle.{access-mode} methods.
The exception message is less exact, but I think that's acceptable.
Progress
- [ ] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue
Issue
- JDK-8335638: Calling VarHandle.{access-mode} methods reflectively throws wrong exception (Bug - P3)
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/20015/head:pull/20015
$ git checkout pull/20015
Update a local copy of the PR:
$ git checkout pull/20015
$ git pull https://git.openjdk.org/jdk.git pull/20015/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 20015
View PR using the GUI difftool:
$ git pr show -t 20015
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/20015.diff
Webrev
:wave: Welcome back hgreule! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
@SirYwell This change now passes all automated pre-integration checks.
ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.
After integration, the commit message for the final commit will be:
8335638: Calling VarHandle.{access-mode} methods reflectively throws wrong exception
Reviewed-by: liach
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.
At the time when this comment was updated there had been 309 new commits pushed to the master branch:
- c6f0a35e9e3eeaab1e238e8712051a626b337e0b: 8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature
- f174bbd3baf351ae9248b70454b3bc5a89acd7c6: 8337473: Remove sun/management/jdp tests from ProblemList on Linux-aarch64, MacOSX
- 8eb56845e46e8e4867915c8c079adfe1196dcbbc: 8337550: Add documentation to TestOutOfMemoryDuringInit.java
- cf1230a5f7e5ae4c72ec6243fff1d0b0eb27779a: 8337546: Remove unused GCCause::_adaptive_size_policy
- 65646b5f81279a7fcef3ea04ef9894cf66f77a5a: 8337457: Redundant Math.round call in AquaProgressBarUI#getStringPlacement
- 8af2ef35b6f9399b6d25ff7a4a72ad283df63f03: 8331015: Obsolete -XX:+UseNotificationThread
- 97f7c03dd0ff389abefed7ea2a7257bcb42e0754: 8336495: Remove unnecessary casts in output.cpp
- a45bb55ddb6abfa520a2e4d7a5cd4d638a526efd: 8337501: JFR: Use TimespanUnit
- 8f039b56294604271c8ee896aca49d325b5472e5: 8336919: Cleanup and rename tags in placeholders code
- e4c7850c177899a5da6f5050cb0647a6e1a75d31: 8337027: Parallel: Obsolete BaseFootPrintEstimate
- ... and 299 more: https://git.openjdk.org/jdk/compare/9a91865ff38f6fbb48b9aba5028e0b529d9bce76...master
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@liach) but any other Committer may sponsor as well.
➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).
@SirYwell The following labels will be automatically applied to this pull request:
core-libshotspot
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.
I think this needs a CSR, to document the change in behavior. (See e.g. https://bugs.openjdk.org/browse/JDK-8335554 which is a very similar case)
/csr
@JornVernee has indicated that a compatibility and specification (CSR) request is needed for this pull request.
@SirYwell please create a CSR request for issue JDK-8335638 with the correct fix version. This pull request cannot be integrated until the CSR request is approved.
@SirYwell Your change (at version e329ceb206d198e35186843391f4a8a25732e64e) is now ready to be sponsored by a Committer.
@JornVernee if you want you can also review https://bugs.openjdk.org/browse/JDK-8337301
@liach already asked me to take a look. The note looks good. There's no way for me to mark it as reviewed it seems
Thanks for this fix and the discussions. We should be good to go.
/sponsor
Going to push as commit 9fe6e2316aef8fd125a7905cff2a2d9ae5d26109.
Since your change was applied there have been 311 commits pushed to the master branch:
- 27af80ef9e676aaf9016279ff0c7990e2cdfe9ed: 8324260: java/foreign/TestStubAllocFailure.java run timeout with -Xcomp
- 022899a7eb0100bd6d738471f52e5028e3e5f18e: 8337641: G1: Remove unused G1CollectedHeap::alloc_highest_free_region
- c6f0a35e9e3eeaab1e238e8712051a626b337e0b: 8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature
- f174bbd3baf351ae9248b70454b3bc5a89acd7c6: 8337473: Remove sun/management/jdp tests from ProblemList on Linux-aarch64, MacOSX
- 8eb56845e46e8e4867915c8c079adfe1196dcbbc: 8337550: Add documentation to TestOutOfMemoryDuringInit.java
- cf1230a5f7e5ae4c72ec6243fff1d0b0eb27779a: 8337546: Remove unused GCCause::_adaptive_size_policy
- 65646b5f81279a7fcef3ea04ef9894cf66f77a5a: 8337457: Redundant Math.round call in AquaProgressBarUI#getStringPlacement
- 8af2ef35b6f9399b6d25ff7a4a72ad283df63f03: 8331015: Obsolete -XX:+UseNotificationThread
- 97f7c03dd0ff389abefed7ea2a7257bcb42e0754: 8336495: Remove unnecessary casts in output.cpp
- a45bb55ddb6abfa520a2e4d7a5cd4d638a526efd: 8337501: JFR: Use TimespanUnit
- ... and 301 more: https://git.openjdk.org/jdk/compare/9a91865ff38f6fbb48b9aba5028e0b529d9bce76...master
Your commit was automatically rebased without conflicts.
@liach @SirYwell Pushed as commit 9fe6e2316aef8fd125a7905cff2a2d9ae5d26109.
:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.