JDK-6829862 : F10 pressed in JDialog produces NPE in EDT
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6u10
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_2.5.1
  • CPU: x86
  • Submitted: 2009-04-14
  • Updated: 2011-01-19
  • Resolved: 2009-10-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6-poolResolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux kurt-ubuntu 2.6.27-14-generic #1 SMP Fri Mar 13 18:00:20 UTC 2009 i686 GNU/Linux

A DESCRIPTION OF THE PROBLEM :
Pressing F10 in an JDialog produces NullPointerException on EventDispatchThread.

Exception occurred during event dispatching:
java.lang.NullPointerException
	at sun.awt.X11.XToolkit.getParentFramePeer(XToolkit.java:509)
	at sun.awt.X11.XComponentPeer.handleF10JavaKeyEvent(XComponentPeer.java:645)
	at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:665)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:735)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:969)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:841)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:668)
	at java.awt.Component.dispatchEventImpl(Component.java:4455)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4413)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
	at java.awt.Dialog$1.run(Dialog.java:1051)
	at java.awt.Dialog$3.run(Dialog.java:1103)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Dialog.java:1101)
	at java.awt.Component.show(Component.java:1516)
	at java.awt.Component.setVisible(Component.java:1468)
	at java.awt.Window.setVisible(Window.java:841)
	at java.awt.Dialog.setVisible(Dialog.java:991)
	at F10Error$1.run(F10Error.java:34)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
run the attached testprogram on Ubuntu (any Linux ?)


ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception occurred during event dispatching:
java.lang.NullPointerException


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import java.awt.Dialog.ModalityType;

import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.WindowConstants;

public class F10Error {
  public static void main(final String[] args) {

    // --- all tested L&F's produce this error (Nimbus (my default) and the ones below)
    //    SwingUtilities.invokeLater(new Runnable() {
    //      public void run() {
    //        try {
    //          // UIManager.setLookAndFeel(UIManager
    //          //   .getCrossPlatformLookAndFeelClassName());
    //          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    //        } catch (final Exception e) {
    //          e.printStackTrace();
    //        }
    //      }
    //    });

    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        final String title = "F10-error";
        final JDialog d = new JDialog(null, title, ModalityType.DOCUMENT_MODAL);
        d.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        d.getContentPane().add(
          new JLabel("<html>LaF " + UIManager.getLookAndFeel().getDescription()
            + "<br>Press F10 to produce NullPointerException on EDT</html>"));
        d.pack();
        d.setVisible(true);
      }
    });
  }
}

---------- END SOURCE ----------

Comments
EVALUATION The fix for 6533175 is going to be ported to 6u18. Closing this CR as a duplicate of 6533175.
12-10-2009

EVALUATION This issue has been already resolved for JDK7 release with the fix for 6533175 and only applicable to JDK6uX releases.
14-04-2009