NullPointerException locks up Scythebill
Original issue 191 created by adam_winer on 2014-12-04T17:01:58.000Z:
User reported this stack trace:
java.lang.NullPointerException at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.paint(Unknown Source) at javax.swing.CellRendererPane.paintComponent(Unknown Source) at javax.swing.plaf.basic.BasicTableHeaderUI.paintCell(Unknown Source) at javax.swing.plaf.basic.BasicTableHeaderUI.paint(Unknown Source) at javax.swing.plaf.ComponentUI.update(Unknown Source) at javax.swing.JComponent.paintComponent(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JViewport.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) at javax.swing.RepaintManager$PaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source) at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source) at sun.awt.SunGraphicsCallback.runComponents(Unknown Source) at java.awt.Container.paint(Unknown Source) at java.awt.Window.paint(Unknown Source) at javax.swing.RepaintManager$3.run(Unknown Source) at javax.swing.RepaintManager$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.access$1100(Unknown Source) at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JOptionPane.showOptionDialog(Unknown Source) at javax.swing.JOptionPane.showMessageDialog(Unknown Source) at .ui.util.Alerts.reportError(Alerts.java:198) at .app.App$1$1.uncaughtException(App.java:75) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.lang.ThreadGroup.uncaughtException(Unknown Source) at java.awt.EventDispatchThread.processException(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
... and had to use Task Manager to kill the app, losing data entered.
The specific scenario was that she'd left the computer for awhile, so I think what had happened is that the code to protect a user from not having an Alert more than once every 30 seconds didn't help - the alert was still up, so it kept firing, getting the app into a very unpleasant state.
Fix should be making sure that an error alert also won't show if the alert is already visible.
Comments (3)
-
reporter -
reporter Comment #2 originally posted by adam_winer on 2015-01-06T16:52:27.000Z:
Should be fixed now.
-
reporter Comment #3 originally posted by adam_winer on 2015-01-06T16:52:37.000Z:
<empty>
- Log in to comment
Comment #1 originally posted by adam_winer on 2014-12-05T00:23:24.000Z:
And see:
http://bugs.java.com/view_bug.do?bug_id=6429812
... for a plausible explanation of how to fix the underlying issue.