Attached test program show an endless loop in the native code of sun.java2d.loops.ScaledBlit in EDT. The problem is a consequence of a very large value in a AffineTransform. It occur with all Java 6, Java 7 and Java 8 versions on different Windows systems. Other OS we have not tested. Thread [AWT-EventQueue-0] (Suspended) owns: Component$AWTTreeLock (id=41) ScaledBlit.Scale(SurfaceData, SurfaceData, Composite, Region, int, int, int, int, double, double, double, double) line: not available [native method] DrawImage.scaleSurfaceData(SunGraphics2D, Region, SurfaceData, SurfaceData, SurfaceType, SurfaceType, int, int, int, int, double, double, double, double) line: 985 DrawImage.renderImageScale(SunGraphics2D, Image, Color, int, int, int, int, int, double, double, double, double) line: 642 DrawImage.tryCopyOrScale(SunGraphics2D, Image, int, int, int, int, Color, int, double[]) line: 307 DrawImage.transformImage(SunGraphics2D, Image, AffineTransform, int, int, int, int, int, Color) line: 260 DrawImage.copyImage(SunGraphics2D, Image, int, int, Color) line: 80 DrawImage.copyImage(SunGraphics2D, Image, int, int, Color, ImageObserver) line: 1011 ValidatePipe.copyImage(SunGraphics2D, Image, int, int, Color, ImageObserver) line: 186 SunGraphics2D.drawImage(Image, int, int, Color, ImageObserver) line: 3084 SunGraphics2D.drawImage(Image, int, int, ImageObserver) line: 3069 DrawImage.paintComponent(Graphics) line: 57 DrawImage(JComponent).paint(Graphics) line: 1054 JPanel(JComponent).paintChildren(Graphics) line: 887 JPanel(JComponent).paint(Graphics) line: 1063 JLayeredPane(JComponent).paintChildren(Graphics) line: 887 JLayeredPane(JComponent).paint(Graphics) line: 1063 JLayeredPane.paint(Graphics) line: 585 JRootPane(JComponent).paintChildren(Graphics) line: 887 JRootPane(JComponent).paintToOffscreen(Graphics, int, int, int, int, int, int) line: 5228 RepaintManager$PaintManager.paintDoubleBuffered(JComponent, Image, Graphics, int, int, int, int) line: 1512 RepaintManager$PaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: 1443 RepaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: 1236 JRootPane(JComponent).paint(Graphics) line: 1040 GraphicsCallback$PaintCallback.run(Component, Graphics) line: 39 GraphicsCallback$PaintCallback(SunGraphicsCallback).runOneComponent(Component, Rectangle, Graphics, Shape, int) line: 78 GraphicsCallback$PaintCallback(SunGraphicsCallback).runComponents(Component[], Graphics, int) line: 115 JFrame(Container).paint(Graphics) line: 1967 JFrame(Window).paint(Graphics) line: 3877 RepaintManager$3.run() line: 807 RepaintManager$3.run() line: 784 AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method] ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: 76 RepaintManager.paintDirtyRegions(Map<Component,Rectangle>) line: 784 RepaintManager.paintDirtyRegions() line: 757 RepaintManager.prePaintDirtyRegions() line: 706 RepaintManager.access$1000(RepaintManager) line: 62 RepaintManager$ProcessingRunnable.run() line: 1651 InvocationEvent.dispatch() line: 251 EventQueue.dispatchEventImpl(AWTEvent, Object) line: 727 EventQueue.access$200(EventQueue, AWTEvent, Object) line: 103 EventQueue$3.run() line: 688 EventQueue$3.run() line: 686 AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method] ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: 76 EventQueue.dispatchEvent(AWTEvent) line: 697 EventDispatchThread.pumpOneEventForFilters(int) line: 242 EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: 161 EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: 150 EventDispatchThread.pumpEvents(int, Conditional) line: 146 EventDispatchThread.pumpEvents(Conditional) line: 138 EventDispatchThread.run() line: 91
|