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

Intermittent NPE in Java2Demo applet on Stop/Restart in appletviewer

    Details

    • Subcomponent:
    • Resolved In Build:
      b76
    • OS:
      generic

      Backports

        Description

        FULL PRODUCT VERSION :
        JDK 9 b68, JDK 8u25 b18

        ADDITIONAL OS VERSION INFORMATION :
        MS Windows 7 OS, but it should be generic for all OSs.

        A DESCRIPTION OF THE PROBLEM :
        When "Java2Demo" applet is loaded in JDK's "appletviewer" tool with disabled just in time (JIT) compiler, occasionally "java.lang.NullPointerException" occurs on repetitive clicks on "Stop", "Restart" menu items of appletviewer's "Applet" menu. Also after "Restart" menu item is clicked at least 1 time tab navigation in "Java2Demo" applet becomes broken and sometimes obvious visual problems in the animation window can be observed.

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        1. Download a testable "jdk*demos.*" archive for corresponding platform and extract the archive to any directory.
        2. Install JDK corresponding to demos downloaded in point #1.
        3. Execute the following command.
        <JDK_HOME_DIR>\bin\appletviewer -J-Xint <DEMOS_DIR>jfc\Java2D\Java2Demo.html
        4. Select "Applet->Stop" and "Applet->Restart" multiple times in random order until "java.lang.NullPointerException" is displayed in the command line. Also it can be observed that tab navigation of "Java2Demo" applet becomes broken after the first restart of the applet.

        ERROR MESSAGES/STACK TRACES THAT OCCUR :
        Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
                at sun.dc.DuctusRenderingEngine.getAATileGenerator(DuctusRenderingEngine.java:398)
                at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:152)
                at sun.java2d.pipe.AAShapePipe.fill(AAShapePipe.java:68)
                at sun.java2d.pipe.PixelToParallelogramConverter.fill(PixelToParallelogramConverter.java:164)
                at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:160)
                at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2527)
                at java2d.Intro$Surface$TxE.render(Intro.java:800)
                at java2d.Intro$Surface$Scene.render(Intro.java:638)
                at java2d.Intro$Surface.paint(Intro.java:391)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paint(JComponent.java:1062)
                at javax.swing.JLayeredPane.paint(JLayeredPane.java:584)
                at javax.swing.JComponent.paintChildren(JComponent.java:886)
                at javax.swing.JComponent.paintToOffscreen(JComponent.java:5254)
                at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1609)
                at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1532)
                at javax.swing.RepaintManager.paint(RepaintManager.java:1302)
                at javax.swing.JComponent.paint(JComponent.java:1039)
                at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
                at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
                at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
                at java.awt.Container.paint(Container.java:1998)
                at javax.swing.RepaintManager$4.run(RepaintManager.java:857)
                at javax.swing.RepaintManager$4.run(RepaintManager.java:829)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:829)
                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:804)
                at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:753)
                at javax.swing.RepaintManager.access$1200(RepaintManager.java:65)
                at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1762)
                at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
                at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:759)
                at java.awt.EventQueue.access$500(EventQueue.java:97)
                at java.awt.EventQueue$3.run(EventQueue.java:712)
                at java.awt.EventQueue$3.run(EventQueue.java:706)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
                at java.awt.EventQueue.dispatchEvent(EventQueue.java:729)
                at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:192)
                at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
                at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:106)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:102)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:94)
                at java.awt.EventDispatchThread.run(EventDispatchThread.java:83)

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  alitvinov Anton Litvinov
                  Reporter:
                  shadowbug Shadow Bug
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: