<AWT Dev> <Awt Dev> [9] Review Request for 8130895: Test javax/swing/system/6799345/TestShutdown.java fails on Solaris11 Sparcv9

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Wed Jul 22 17:20:29 UTC 2015


It is unclear why it is unrelated, the stack trace from the bug:

java.lang.ExceptionInInitializerError
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.awt.AWTAccessor.getKeyboardFocusManagerAccessor(AWTAccessor.java:966)
at 
sun.awt.KeyboardFocusManagerPeerImpl.<clinit>(KeyboardFocusManagerPeerImpl.java:46)
at sun.awt.X11.XToolkit.run(XToolkit.java:611)
at sun.awt.X11.XToolkit.run(XToolkit.java:550)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at java.awt.AWTKeyStroke.getCachedStroke(AWTKeyStroke.java:255)
at java.awt.AWTKeyStroke.getAWTKeyStroke(AWTKeyStroke.java:394)
at java.awt.KeyboardFocusManager.<clinit>(KeyboardFocusManager.java:332)
... 6 more


On 22.07.15 17:09, Semyon Sadetsky wrote:
> Hi Sergey,
>
> From the process point of view it's better to fix the issue you've 
> found in another ticket. The failed test is not related to the 
> keystrokes caching.
> So I suggest to push this fix as it is and file another JIRA for the 
> keystrokes.
>
> --Semyon
>
>
> On 7/22/2015 3:58 PM, Sergey Bylokhov wrote:
>> Hi, Semyon.
>> NPE occurs when we initialize KFM on the Toolkit thread, but this is 
>> only a part of the bug, another issue is that we will use cached 
>> keystrokes on the toolkit thread. But this keystrokes is bound to the 
>> appcontext so we should not use objects which connect to the 
>> application on the toolkit thread. This code should be carefully 
>> checked to remove appcontext related stuff from the toolkit thread.
>>
>> On 21.07.15 12:40, Semyon Sadetsky wrote:
>>> Hello,
>>>
>>> Please review fix for JDK9:
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8130895
>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8130895/webrev.00/
>>>
>>> realSync() used in the test's TestRunnable class causes events come 
>>> to the XAWT event loop but there are no any windows created at the 
>>> moment and the system application context is not initialized. This 
>>> results in attempt to create the KeyboardFocusManager instance on 
>>> the XAWT's thread group during the XEvent dispatching. That in its 
>>> turn causes NPE.
>>> The solution: since KeyboardFocusManager should never be 
>>> instantiated in the toolkit event loop, the corresponding check was 
>>> added.
>>>
>>> --Semyon
>>
>>
>> -- 
>> Best regards, Sergey.
>


-- 
Best regards, Sergey.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150722/581d7e35/attachment.html>


More information about the awt-dev mailing list