JDK-7012990 : Jconsole throws NullPointerException when launched with Nimbus Look and Feel
  • Type: Bug
  • Component: tools
  • Sub-Component: jconsole
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2011-01-18
  • Updated: 2013-07-30
  • Resolved: 2013-07-30
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 7
7-poolResolved
Related Reports
Duplicate :  
Relates :  
Description
SYNOPSIS
--------
Jconsole throws NullPointerException when launched with Nimbus Look and Feel

OPERATING SYSTEM
----------------
All

FULL JDK VERSION
----------------
Reproducible with latest FCS (6u23) and latest EA (6u24-b03, 7-b124).
Not a regression (have tested back to 6u10).

DESCRIPTION
-----------
Jconsole throws a NullPointerException when launched with Nimbus Look and Feel.

CR 6612715 appears to describe the same issue, with the evaluation stating that it is fixed in 6u10. However, the problem can still be easily reproduced with the latest Java 6 releases, and JDK7.

STEPS TO REPRODUCE
------------------
Launch Jconsole with the following command:

   jconsole -J-Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

Observe the following exception (output from 6u24):

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at sun.tools.jconsole.Utilities.getColorBrightness(Utilities.java:131)
        at sun.tools.jconsole.Utilities.ensureContrast(Utilities.java:115)
        at sun.tools.jconsole.ConnectDialog.revalidate(ConnectDialog.java:260)
        at javax.swing.JComponent.setVisible(JComponent.java:2621)
        at sun.tools.jconsole.ConnectDialog.setVisible(ConnectDialog.java:544)
        at javax.swing.JInternalFrame.<init>(JInternalFrame.java:329)
        at sun.tools.jconsole.InternalDialog.<init>(InternalDialog.java:26)
        at sun.tools.jconsole.ConnectDialog.<init>(ConnectDialog.java:64)
        at sun.tools.jconsole.JConsole.showConnectDialog(JConsole.java:602)
        at sun.tools.jconsole.JConsole.access$800(JConsole.java:36)
        at sun.tools.jconsole.JConsole$6.run(JConsole.java:815)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:603)
        at java.awt.EventQueue$1.run(EventQueue.java:601)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
        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)

WORKAROUND
----------
None, apart from not using Nimbus.