On Sun, 13 Apr 2025 16:08:40 GMT, Matthias Bläsing <mblaes...@openjdk.org> 
wrote:

> - Introduce a lock into WClipboard that protects the code between
>   openClipboard/closeClipboard invocations.
>   The native side does not allow to open the clipboard multiple
>   times or share the opened clipboard between multiple threads.
> 
> - Remove of need to call openClipboard/closeClipboard from
>   getClipboardFormats by using the win32 call
>   GetUpdatedClipboardFormats
> 
> - Prevent a race-condition by not registering the connection
>   between java and native side of clipboard multiple time, but
>   just at construction time.

Some further comments:

- More information than provided in the PR summary can be found in the two 
commits, which represent the steps I took to to fix this.
- From my testing this change also fixes JDK-8332271
- Testing:
  - fastdebug build does not hit asserts anymore for the reproducer code (See 
e893b368a0e32ff17c1182fb261e0561d48827d3 / issue report)
  - reproducer code for JDK-8332271 does not crash anymore. Code was run for 
multiple minutes and no crash was observed
  - tests from test/jdk/java/awt/Clipboard were run and tests succeeded in 
release and fastdebug configuration

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24614#issuecomment-2800014192

Reply via email to