Nilhcem/FakeSMTP

Uncaught Exception, when going to standby mode will cause fakesmtp crash

Opened this issue · 4 comments

When I close my notebook it will go to standby and fakesmtp will always crash.
Until you kill fakesmtp it will produce more and more popups about the exception.

OS: Ubuntu 16.04 TLS
Java: java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

1 Aug 2017 10:25:23 ERROR com.nilhcem.fakesmtp.core.exception.UncaughtExceptionHandler - java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData at sun.java2d.xr.XRPMBlitLoops.cacheToTmpSurface(XRPMBlitLoops.java:148) ~[na:1.8.0_121] at sun.java2d.xr.XrSwToPMBlit.Blit(XRPMBlitLoops.java:356) ~[na:1.8.0_121] at sun.java2d.SurfaceDataProxy.updateSurfaceData(SurfaceDataProxy.java:498) ~[na:1.8.0_121] at sun.java2d.SurfaceDataProxy.replaceData(SurfaceDataProxy.java:455) ~[na:1.8.0_121] at sun.java2d.SurfaceData.getSourceSurfaceData(SurfaceData.java:233) ~[na:1.8.0_121] at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:566) ~[na:1.8.0_121] at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67) ~[na:1.8.0_121] at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1014) ~[na:1.8.0_121] at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318) ~[na:1.8.0_121] at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3296) ~[na:1.8.0_121] at com.sun.java.swing.plaf.gtk.GTKEngine.paintCachedImage(GTKEngine.java:555) ~[na:1.8.0_121] at com.sun.java.swing.plaf.gtk.GTKPainter.paintButtonBackgroundImpl(GTKPainter.java:291) ~[na:1.8.0_121] at com.sun.java.swing.plaf.gtk.GTKPainter.paintLabelBackground(GTKPainter.java:223) ~[na:1.8.0_121] at javax.swing.plaf.synth.SynthLabelUI.update(SynthLabelUI.java:174) ~[na:1.8.0_121] at javax.swing.JComponent.paintComponent(JComponent.java:780) ~[na:1.8.0_121] at sun.swing.table.DefaultTableCellHeaderRenderer.paintComponent(DefaultTableCellHeaderRenderer.java:158) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1056) ~[na:1.8.0_121] at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151) ~[na:1.8.0_121] at javax.swing.plaf.basic.BasicTableHeaderUI.paintCell(BasicTableHeaderUI.java:710) ~[na:1.8.0_121] at javax.swing.plaf.basic.BasicTableHeaderUI.paint(BasicTableHeaderUI.java:652) ~[na:1.8.0_121] at javax.swing.plaf.synth.SynthTableHeaderUI.paint(SynthTableHeaderUI.java:173) ~[na:1.8.0_121] at javax.swing.plaf.synth.SynthTableHeaderUI.update(SynthTableHeaderUI.java:144) ~[na:1.8.0_121] at javax.swing.JComponent.paintComponent(JComponent.java:780) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1056) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JViewport.paint(JViewport.java:728) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) ~[na:1.8.0_121] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_121] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_121] at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) ~[na:1.8.0_121] at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) ~[na:1.8.0_121] at javax.swing.RepaintManager.paint(RepaintManager.java:1272) ~[na:1.8.0_121] at javax.swing.JComponent._paintImmediately(JComponent.java:5158) ~[na:1.8.0_121] at javax.swing.JComponent.paintImmediately(JComponent.java:4969) ~[na:1.8.0_121] at javax.swing.RepaintManager$4.run(RepaintManager.java:854) ~[na:1.8.0_121] at javax.swing.RepaintManager$4.run(RepaintManager.java:814) ~[na:1.8.0_121] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[na:1.8.0_121] at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) ~[na:1.8.0_121] at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) ~[na:1.8.0_121] at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) ~[na:1.8.0_121] at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) ~[na:1.8.0_121] at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) ~[na:1.8.0_121] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_121] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) ~[na:1.8.0_121] at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_121] at java.awt.EventQueue$3.run(EventQueue.java:709) ~[na:1.8.0_121] at java.awt.EventQueue$3.run(EventQueue.java:703) ~[na:1.8.0_121] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[na:1.8.0_121] at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) ~[na:1.8.0_121] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [na:1.8.0_121] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [na:1.8.0_121] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [na:1.8.0_121] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:1.8.0_121] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [na:1.8.0_121] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [na:1.8.0_121]

I think this is a regression bug in JDK 8. Fixed in JDK 9

https://bugs.openjdk.java.net/browse/JDK-7172749

Vest commented

If I understood this bug report correctly, it should be fixed in b124. And the latest build for Ubuntu is 131: https://packages.ubuntu.com/en/xenial-updates/openjdk-8-jre

Ah yes, I think you are right. I saw the 'Fix Version 9' and thought that was when it was fixed.

I'm not using openjdk btw ;). will update oracle jdk and send feedback.