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

Intermittent NPE in Java2Demo applet on Stop/Restart in appletviewer

    XMLWordPrintable

Details

    • b76
    • 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

                alitvinov Anton Litvinov (Inactive)
                shadowbug Shadow Bug
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: