<AWT Dev> [7u] Review request for 8061954: 7u76 - deployment warning dialogs do not work on Linux

Anton Litvinov anton.litvinov at oracle.com
Fri Nov 7 09:45:40 UTC 2014

Hello Anton,

Thank you for the response. I would just like to clarify one question. 
Did you approve this version of the fix?

Thank you,

On 11/7/2014 10:48 AM, Anton V. Tarasov wrote:
> Hi Anton,
> On 06.11.2014 19:38, Anton Litvinov wrote:
>> Hello Anton,
>> Thank you for the review of the fix. Yes, automatic jtreg regression 
>> tests from the directories listed in my review request were launched.
>> Debugging of the issue showed that, as you said, AppContext equals 
>> null, because the thread, on which 
>> "java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager" method 
>> is called, belongs to "system" thread group. The thread is 
>> "AWT-XAWT". And since the root frame of NPE's call stack is "at 
>> sun.awt.X11.XToolkit.run", it looks like there is nothing wrong in 
>> the fact that the current thread is "AWT-XAWT". Yes, I agree that it 
>> is necessary to fix a root cause of the issue, but in current NPE 
>> deploy thread is not involved.
> Thanks for the clarification. Now it's clear that the original problem 
> was that we called public client method (Window.isActive) on the 
> toolkit thread (that is actually obvious from the stack...). And 
> that's prohibited. The NPE thus was a side effect.
> So, the fix is correct as soon as it eliminates the client calls from 
> the toolkit thread.
> Regards,
> Anton.
>> Thank you,
>> Anton
>> On 11/6/2014 4:10 PM, Anton V. Tarasov wrote:
>>> Hi Anton,
>>> The fix looks fine for me (taking into account you've launched all 
>>> the focus reg tests).
>>> However, I have a concern about the issue itself. As far as I know, 
>>> any deploy warning dialog should belong to the deploy Thread Group 
>>> which does have its own AppContext. The only TG which has null 
>>> AppContext is the system thread group. However, no UI code should be 
>>> invoked in that TG. Am I right? If so, then it seems to me we should 
>>> identify and fix the root cause of the issue.
>>> What do you think?
>>> Regards,
>>> Anton.
>>> On 31.10.2014 14:39, Anton Litvinov wrote:
>>>> Hello,
>>>> Could you please review the following fix for P1 bug.
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8061954
>>>> Webrev: http://cr.openjdk.java.net/~alitvinov/8061954/webrev.00
>>>> The bug consists in the fact that "java.lang.NullPointerException" 
>>>> is thrown from 
>>>> "java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager" and 
>>>> a button does not get the focus on mouse click, when the button is 
>>>> located on a warning dialog which is shown during Java applet 
>>>> loading on Linux OS.
>>>> The solution consists of 2 following parts:
>>>> 1. Reversal of the fix for JDK-6993873 in order to resolve this bug 
>>>> (file "XContentWindow.java").
>>>> 2. Backport of only Linux/Solaris parts of the fix for JDK-6981400 
>>>> from JDK 8 in order to again resolve JDK-6993873 (the failing test 
>>>> "jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java").
>>>> The next jtreg regression tests were run on JDK 7 without/with the 
>>>> fix and no new test failures were defined:
>>>>     jdk/test/java/awt/Focus
>>>>     jdk/test/java/awt/KeyboardFocusmanager
>>>>     jdk/test/javax/swing/KeyboardManager
>>>>     Analogous tests from closed parts of JDK 7.
>>>> Thank you,
>>>> Anton

More information about the awt-dev mailing list