<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,
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