RFR: 8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination [v5]

songpv-imt duke at openjdk.org
Tue Nov 7 09:10:02 UTC 2023


> The root cause of the bug is because mousePress() method is invoked before mouseMove() event is completely processed causing the drag & drop behavior not being able to be recognized properly. This in turn makes the method dragSourceListener.isDropFinished() returns false and fail the test. To fix this, setAutoWaitForIdle(true) and Thread.Sleep is called to make sure the mouseMove() event is processed completely before moving to execute the mousePress() method.
> 
> JBS issue: [JDK-8317287](https://bugs.openjdk.org/browse/JDK-8317287)

songpv-imt has updated the pull request incrementally with one additional commit since the last revision:

  Update InterJVMGetDropSuccessTest.java
  Based on description in Chapter "17.4 Memory Model", and specifically chapter "17.4.5 Happens-before Order" of the "The Java® Language Specification", DragSourceDropListener.finished field is accessed from two threads without proper synchronization which may also be possible causing the test to fail. Hence, putting code accessing to DragSourceDropListener.finished into a proper synchronization code block.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16396/files
  - new: https://git.openjdk.org/jdk/pull/16396/files/59cea9fc..909b66a7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16396&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16396&range=03-04

  Stats: 29 lines in 1 file changed: 15 ins; 13 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16396.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16396/head:pull/16396

PR: https://git.openjdk.org/jdk/pull/16396


More information about the client-libs-dev mailing list