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

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Fri Nov 7 13:23:16 UTC 2014


The fix looks fine to me too.

On 07.11.2014 12:20, Anton V. Tarasov wrote:
> 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
>>>>>
>>>>
>>>
>>
>


-- 
Best regards, Sergey.



More information about the awt-dev mailing list