Ticket #1682 (closed defect: worksforme)
I wanted to correct some map problems with the validator plugin and it crashed
| Reported by: | Ronny.Standtke@… | Owned by: | framm |
|---|---|---|---|
| Priority: | major | Component: | unspecified |
| Version: | Keywords: | ||
| Cc: |
Description
Path: trunk URL: http://josm.openstreetmap.de/svn/trunk Repository Root: http://josm.openstreetmap.de/svn Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Revision: 1057 Node Kind: directory Last Changed Author: ulfl Last Changed Rev: 1057 Last Changed Date: 2008-10-26 11:19:51 +0100 (Sun, 26 Oct 2008)
java.lang.NullPointerException
at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:51) at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:38) at org.openstreetmap.josm.plugins.validator.ValidatorDialog.fixErrors(ValidatorDialog.java:151) at org.openstreetmap.josm.plugins.validator.ValidatorDialog.actionPerformed(ValidatorDialog.java:302) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.Component.processMouseEvent(Component.java:6041) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5806) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4413) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2440) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)



That error is really strange. Assuming it was thrown by the latest validator version this means it was thrown by the last line of the following code block:
Object nodeInfo = childNode.getUserObject(); if (nodeInfo instanceof TestError) { TestError error = (TestError) nodeInfo; Command fixCommand = error.getFix();The error is a NullPointerException -> variable "error" is null. This means that nodeInfo has to be null and therefore the "nodeInfo instanceof TestError" resolves to false (by Java specification). If it resolves to false we will never enter the if clause and therefore never reach line where the error was thrown. Really strange.
In conclusion I would assume that this is an error of the executing JVM, not of JOSM or the validator plugin.
@Ronny: Could you please add some information about your Java and OS environment? Did the error occur more than once?