java.lang.NullPointerException

Pentaho BI Platform Tracking | Thomas Morgner | 8 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    This NPE is caused by a element-lookup that failed. The UndoEntry stores element-ids only, and if another action removes a element without adding a corresponding undo-entry, the state of the Undo system becomes invalid. Task: Find the action that caused the rouge element removal, and you'll no longer see the bug. Task(2): Change the code of the MassElementStyleUndoEntry to give a cleaner error message. Do not simply ignore this error condition, by checking for null and ignoring the invalid id afterwards, as this will not fix the deep cause of the bug. java.lang.NullPointerException at org.pentaho.reporting.designer.core.util.undo.MassElementStyleUndoEntry.undo(MassElementStyleUndoEntry.java:46) at org.pentaho.reporting.designer.core.util.undo.UndoManager.undo(UndoManager.java:144) at org.pentaho.reporting.designer.core.actions.report.UndoAction.actionPerformed(UndoAction.java:71) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.AbstractButton.doClick(AbstractButton.java:334) at javax.swing.AbstractButton.doClick(AbstractButton.java:282) at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:1020) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1576) at javax.swing.JComponent.processKeyBinding(JComponent.java:2772) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:656) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664) at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:640) at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255) at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:242) at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849) at javax.swing.JComponent.processKeyBindings(JComponent.java:2841) at javax.swing.JComponent.processKeyEvent(JComponent.java:2735) at java.awt.Component.processEvent(Component.java:5379) at java.awt.Container.processEvent(Container.java:2010) at java.awt.Component.dispatchEventImpl(Component.java:4068) at java.awt.Container.dispatchEventImpl(Container.java:2068) at java.awt.Component.dispatchEvent(Component.java:3903) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:681) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:938) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:810) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:645) at java.awt.Component.dispatchEventImpl(Component.java:3941) at java.awt.Container.dispatchEventImpl(Container.java:2068) at java.awt.Window.dispatchEventImpl(Window.java:1801) at java.awt.Component.dispatchEvent(Component.java:3903) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    Pentaho BI Platform Tracking | 8 years ago | Thomas Morgner
    java.lang.NullPointerException
  2. 0

    This NPE is caused by a element-lookup that failed. The UndoEntry stores element-ids only, and if another action removes a element without adding a corresponding undo-entry, the state of the Undo system becomes invalid. Task: Find the action that caused the rouge element removal, and you'll no longer see the bug. Task(2): Change the code of the MassElementStyleUndoEntry to give a cleaner error message. Do not simply ignore this error condition, by checking for null and ignoring the invalid id afterwards, as this will not fix the deep cause of the bug. java.lang.NullPointerException at org.pentaho.reporting.designer.core.util.undo.MassElementStyleUndoEntry.undo(MassElementStyleUndoEntry.java:46) at org.pentaho.reporting.designer.core.util.undo.UndoManager.undo(UndoManager.java:144) at org.pentaho.reporting.designer.core.actions.report.UndoAction.actionPerformed(UndoAction.java:71) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.AbstractButton.doClick(AbstractButton.java:334) at javax.swing.AbstractButton.doClick(AbstractButton.java:282) at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:1020) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1576) at javax.swing.JComponent.processKeyBinding(JComponent.java:2772) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:656) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664) at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664) at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:640) at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255) at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:242) at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849) at javax.swing.JComponent.processKeyBindings(JComponent.java:2841) at javax.swing.JComponent.processKeyEvent(JComponent.java:2735) at java.awt.Component.processEvent(Component.java:5379) at java.awt.Container.processEvent(Container.java:2010) at java.awt.Component.dispatchEventImpl(Component.java:4068) at java.awt.Container.dispatchEventImpl(Container.java:2068) at java.awt.Component.dispatchEvent(Component.java:3903) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:681) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:938) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:810) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:645) at java.awt.Component.dispatchEventImpl(Component.java:3941) at java.awt.Container.dispatchEventImpl(Container.java:2068) at java.awt.Window.dispatchEventImpl(Window.java:1801) at java.awt.Component.dispatchEvent(Component.java:3903) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    Pentaho BI Platform Tracking | 8 years ago | Thomas Morgner
    java.lang.NullPointerException

    Root Cause Analysis

    1. java.lang.NullPointerException

      No message provided

      at org.pentaho.reporting.designer.core.util.undo.MassElementStyleUndoEntry.undo()
    2. org.pentaho.reporting
      UndoAction.actionPerformed
      1. org.pentaho.reporting.designer.core.util.undo.MassElementStyleUndoEntry.undo(MassElementStyleUndoEntry.java:46)
      2. org.pentaho.reporting.designer.core.util.undo.UndoManager.undo(UndoManager.java:144)
      3. org.pentaho.reporting.designer.core.actions.report.UndoAction.actionPerformed(UndoAction.java:71)
      3 frames
    3. Java RT
      EventDispatchThread.run
      1. javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
      2. javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
      3. javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
      4. javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
      5. javax.swing.AbstractButton.doClick(AbstractButton.java:334)
      6. javax.swing.AbstractButton.doClick(AbstractButton.java:282)
      7. javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:1020)
      8. javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1576)
      9. javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
      10. javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:656)
      11. javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664)
      12. javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664)
      13. javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:640)
      14. javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
      15. javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:242)
      16. javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
      17. javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
      18. javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
      19. java.awt.Component.processEvent(Component.java:5379)
      20. java.awt.Container.processEvent(Container.java:2010)
      21. java.awt.Component.dispatchEventImpl(Component.java:4068)
      22. java.awt.Container.dispatchEventImpl(Container.java:2068)
      23. java.awt.Component.dispatchEvent(Component.java:3903)
      24. java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
      25. java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:681)
      26. java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:938)
      27. java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:810)
      28. java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:645)
      29. java.awt.Component.dispatchEventImpl(Component.java:3941)
      30. java.awt.Container.dispatchEventImpl(Container.java:2068)
      31. java.awt.Window.dispatchEventImpl(Window.java:1801)
      32. java.awt.Component.dispatchEvent(Component.java:3903)
      33. java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
      34. java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
      35. java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
      36. java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
      37. java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
      38. java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
      38 frames