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

Anton V. Tarasov anton.tarasov at oracle.com
Fri Nov 7 09:20:12 UTC 2014


On 07.11.2014 13:45, Anton Litvinov wrote:
> Hello Anton,
>
> Thank you for the response. I would just like to clarify one question. Did you approve this 
> version of the fix?

Yes, sure, I approved.

Thanks,
Anton.

>
> Thank you,
> Anton
>
> 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