Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8155911

On MAC OS El Capitan 10.11.4, Java application crashes with NPE when run for a long time

XMLWordPrintable

    • x86
    • os_x

      FULL PRODUCT VERSION :
      java version "1.8.0_77"
      Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
      Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Mac el capitan OS X 10.11.4
      Eclipse IDE for Java Developers
      Version: Mars.2 Release (4.5.2)
      Build id: 20160218-0600

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      the sound is ok

      A DESCRIPTION OF THE PROBLEM :
      After long time running, my java will throw exception as follows:
      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at sun.font.FontDesignMetrics.getDefaultFrc(FontDesignMetrics.java:157)
      at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:278)
      at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1113)
      at javax.swing.JComponent.getFontMetrics(JComponent.java:1626)
      at javax.swing.text.PlainView.calculateLongestLine(PlainView.java:639)
      at javax.swing.text.PlainView.updateMetrics(PlainView.java:209)
      at javax.swing.text.PlainView.getPreferredSpan(PlainView.java:228)
      at javax.swing.text.FieldView.getPreferredSpan(FieldView.java:235)
      at javax.swing.text.View.getMinimumSpan(View.java:250)
      at javax.swing.plaf.basic.BasicTextUI$RootView.getMinimumSpan(BasicTextUI.java:1369)
      at javax.swing.plaf.basic.BasicTextUI.getMinimumSize(BasicTextUI.java:946)
      at javax.swing.JComponent.getMinimumSize(JComponent.java:1744)
      at com.apple.laf.AquaFileChooserUI.installComponents(AquaFileChooserUI.java:1486)
      at com.apple.laf.AquaFileChooserUI.installUI(AquaFileChooserUI.java:144)
      at javax.swing.JComponent.setUI(JComponent.java:666)
      at javax.swing.JFileChooser.updateUI(JFileChooser.java:1836)
      at javax.swing.JFileChooser.setup(JFileChooser.java:371)
      at javax.swing.JFileChooser.<init>(JFileChooser.java:343)
      at javax.swing.JFileChooser.<init>(JFileChooser.java:296)
      at org.dip.util.ImageReader.read(ImageReader.java:15)
      at org.dip.SwingJScrollpane$1.run(SwingJScrollpane.java:23)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

      -------
      and some software which using java will show up with empty panel such as Elmedia Player. Matlab can not plot with opengl, too.give error is:
      MATLAB has experienced a low-level graphics error, and may not have drawn correctly.
      Read about what you can do to prevent this issue at Resolving Low-Level Graphics Issues then restart MATLAB.
      To share details of this issue with MathWorks technical support,
      please include this file with your service request.
      JavaSceneServerPeer problem: Couldn't create JOGL canvas--using painters

      and the java Exception is:
      javax.media.opengl.GLException: Profile GL_DEFAULT is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[]], but: []
      at javax.media.opengl.GLProfile.get(GLProfile.java:962)
      at javax.media.opengl.GLProfile.getDefault(GLProfile.java:693)
      at javax.media.opengl.GLCapabilities.<init>(GLCapabilities.java:84)
      at com.mathworks.hg.uij.OpenGLUtils$MyGLListener.getGLInformation(OpenGLUtils.java:265)
      at com.mathworks.hg.uij.OpenGLUtils$MyGLListener.getGLValid(OpenGLUtils.java:430)
      at com.mathworks.hg.uij.OpenGLUtils.getGLValid(OpenGLUtils.java:89)
      javax.media.opengl.GLException: Profile GL_DEFAULT is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[]], but: []
      at javax.media.opengl.GLProfile.get(GLProfile.java:962)
      at javax.media.opengl.GLProfile.getDefault(GLProfile.java:693)
      at javax.media.opengl.GLCapabilities.<init>(GLCapabilities.java:84)
      at com.mathworks.hg.peer.JavaSceneServerPeer.getCaps(JavaSceneServerPeer.java:211)
      at com.mathworks.hg.peer.JavaSceneServerPeer.doCreateCanvas(JavaSceneServerPeer.java:758)
      at com.mathworks.hg.peer.JavaSceneServerPeer.access$200(JavaSceneServerPeer.java:51)
      at com.mathworks.hg.peer.JavaSceneServerPeer$2.run(JavaSceneServerPeer.java:735)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
      at java.awt.EventQueue.access$300(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:699)
      at java.awt.EventQueue$3.run(EventQueue.java:697)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
      javax.media.opengl.GLException: Profile GL_DEFAULT is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[]], but: []
      at javax.media.opengl.GLProfile.get(GLProfile.java:962)
      at javax.media.opengl.GLProfile.getDefault(GLProfile.java:693)
      at javax.media.opengl.GLCapabilities.<init>(GLCapabilities.java:84)
      at com.mathworks.hg.uij.OpenGLUtils$MyGLListener.getGLInformation(OpenGLUtils.java:265)
      at com.mathworks.hg.uij.OpenGLUtils$MyGLListener.getGLValid(OpenGLUtils.java:430)
      at com.mathworks.hg.uij.OpenGLUtils.getGLValid(OpenGLUtils.java:89)

      =====
      But after i restart the laptop the java is work correctly, and longtime running the exception occurs again.



      =====
      before update java sdk , java is ok.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      I have reset the SMC and NVRAM on mac laptop.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      it does not work

      REPRODUCIBILITY :
      This bug can be reproduced often.

            pardesha Pardeep Sharma
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: