JDK-8252470 : java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
Type:Bug
Component:client-libs
Sub-Component:java.awt
Affected Version:16
Priority:P4
Status:Resolved
Resolution:Fixed
OS:windows_10
Submitted:2020-08-27
Updated:2022-01-05
Resolved:2020-08-29
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The test java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows.
Comments
Fix Request (8u).
Review threads:
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-September/012732.html
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-October/012899.html
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-November/013048.html
JDK-8232114 has been backported to 8u.
24-11-2020
Fix Request (11u):
Backport to 11u requested because it is a part of 11.0.10-oracle and is required as a follow-up to JDK-8232114 (that is currently submitted for approval). Patch applies cleanly on top of JDK-8232114. Testing: checked that test hangs without the fix and passes with it, ran jck:api/java_awt .
29-09-2020
Fix Request (15u):
Backport to 15u requested, because this fix is required as a follow-up to JDK-8232114 (that is currently submitted for approval). Patch applies cleanly on top of JDK-8232114. Testing: checked that test hangs without the fix and passes with it, ran jck:api/java_awt .
After integration of JDK-8232114 if an IME API is invoked from a DND call a hang may take place.
The DND operation runs on a toolkit thread. The IME functions should be executed on the toolkit thread, as well. So if, for example, the IME function is called from one of the methods of DropTargetListener the corresponding IME message will be blocked in the toolkit thread message queue because because the toolkit thread is busy executing DND operation.
Fix:
If DND operation is active then we shouldn’t post the IME messages to the toolkit thread queue and use SendMessage() function instead.
28-08-2020
It looks like the failure is triggered by JDK-8232114