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