Skip to content

8353950: Clipboard interaction on Windows is unstable #3746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

matthiasblaesing
Copy link

@matthiasblaesing matthiasblaesing commented Jul 13, 2025


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8353950 needs maintainer approval
  • JDK-8332271 needs maintainer approval

Issues

  • JDK-8353950: Clipboard interaction on Windows is unstable (Bug - P4 - Requested)
  • JDK-8332271: Reading data from the clipboard from multiple threads crashes the JVM (Bug - P3 - Requested)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk17u-dev.git pull/3746/head:pull/3746
$ git checkout pull/3746

Update a local copy of the PR:
$ git checkout pull/3746
$ git pull https://git.openjdk.org/jdk17u-dev.git pull/3746/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 3746

View PR using the GUI difftool:
$ git pr show -t 3746

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk17u-dev/pull/3746.diff

Using Webrev

Link to Webrev Comment

8332271: Reading data from the clipboard from multiple threads crashes the JVM

Reviewed-by: abhiscxk, dnguyen
@bridgekeeper
Copy link

bridgekeeper bot commented Jul 13, 2025

👋 Welcome back mblaesing! 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.

@openjdk
Copy link

openjdk bot commented Jul 13, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot changed the title Backport 92be7821f5d5cbf5fe0244b41b2b7b1ada898df0 8353950: Clipboard interaction on Windows is unstable Jul 13, 2025
@openjdk
Copy link

openjdk bot commented Jul 13, 2025

This backport pull request has now been updated with issues from the original commit.

@openjdk openjdk bot added backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required labels Jul 13, 2025
@openjdk
Copy link

openjdk bot commented Jul 13, 2025

⚠️ @matthiasblaesing This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jul 13, 2025
@mlbridge
Copy link

mlbridge bot commented Jul 13, 2025

Webrevs

@matthiasblaesing
Copy link
Author

Same testing as for master, jdk25 backport and jdk21 backport were applied:

  • Tests from test/jdk/java/awt/Clipboard were successfully run with fastdebug and release configuration. It was verified, that the new test fails before the change and succeeds afterwards.
  • Application level test already done with the original change were repeated and verified

@matthiasblaesing
Copy link
Author

/approval JDK-8353950 request

@matthiasblaesing
Copy link
Author

/approval JDK-8332271 request

@openjdk
Copy link

openjdk bot commented Jul 13, 2025

@matthiasblaesing
JDK-8353950: The approval request has been created successfully.

@openjdk
Copy link

openjdk bot commented Jul 13, 2025

@matthiasblaesing
JDK-8332271: The approval request has been created successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Jul 13, 2025
@GoeLin
Copy link
Member

GoeLin commented Jul 17, 2025

Hi @matthiasblaesing
thanks for the comment about the testing.
Still, please give appropriate fix request comment, see https://wiki.openjdk.org/display/JDKUpdates/How+to+contribute+or+backport+a+fix
Also, I'd like to defer this to the next update.

@openjdk openjdk bot removed the approval Requires approval; will be removed when approval is received label Jul 17, 2025
@matthiasblaesing
Copy link
Author

/approval JDK-8353950 request NetBeans used to have a work around to "fix" flaky clipboard access. That "fix" was installed using a security manager. The removal of the security manager support from the JDK forced the NetBeans IDE to take an alternative approach. It currently relies on an agent to break into the JDK classes and hack the implementation to synchronize access to the clipboard code, which works, but is a really ugly approach. The right way is to actually fix the clipboard which is done in this change. Users indicated, that an unstable clipboard interaction is not acceptable.

@matthiasblaesing
Copy link
Author

/approval JDK-8332271 request Crashing the VM with regular AWT calls is not acceptable and needs to be fixed.

@openjdk
Copy link

openjdk bot commented Jul 17, 2025

@matthiasblaesing
JDK-8353950: The approval request has been updated successfully.

@openjdk
Copy link

openjdk bot commented Jul 17, 2025

@matthiasblaesing
JDK-8332271: The approval request has been updated successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Jul 17, 2025
@matthiasblaesing
Copy link
Author

@GoeLin you write:

Also, I'd like to defer this to the next update.

I'm not sure how to judge that. Reading the timetable on the 17u site last release was two days ago, so could you clarify?
In general I'm not generally opposed to deferral, I'd just like to know that this issue is finally completely gone at some point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approval Requires approval; will be removed when approval is received backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

2 participants