<AWT Dev> [8] Review Request: JDK-8025588 [macosx] Frozen AppKit thread in 7u40
Artem Ananiev
artem.ananiev at oracle.com
Wed Oct 9 03:31:24 PDT 2013
Hi, Petr,
a few comments:
1. Can InvocationEvent.notifier be final instead of volatile?
2. InvocationEvent now has 4 ctors, 3 public and 1 private. Can all the
public ctors call the private one directly? Right now there is an extra
call from one public ctor to another, which then call the private one.
3. LWCToolkit.java: for backwards compatibility I suggest to replace
"true" with "false" at line 562, so all the uncaught exceptions are
thrown to the calling code, as it was before the fix.
Thanks,
Artem
On 10/9/2013 12:54 PM, Petr Pchelko wrote:
> Hello, AWT Team.
>
> Please review the fix for the issue:
> https://bugs.openjdk.java.net/browse/JDK-8025588
> The fix is available at:
> http://cr.openjdk.java.net/~pchelko/8025588/webrev.00/
> The CCC request for public API changes was approved:
> http://ccc.us.oracle.com/8025588
>
> The problem:
> Is some cases InvocationEvent was deleted from the EventQueue when it's source was disposed. If this InvocationEvent was created by the LWCToolkit.invokeAnWait, it never exited from the nested event loop, so the application frizzed.
>
> The solution:
> Now when the InvocationEvent is removed it's disposed and the invokeAndWait mechanism gets notified and exits the nested event loop.
>
> It's impossible to create a regression test here as the issue is very hard to reproduce.
>
> With best regards. Petr.
>
>
More information about the awt-dev
mailing list