id summary reporter owner description type status priority milestone component version resolution keywords cc 3909 NPE and broken data during upload attempt. (QuadBuckets) bilbo hansendc "I edited some data (using JOSM 2437), then I wanted to use validator and do upload and I got just a messagebox saying ""nullpointer exception"" and on console I found this stacktrace: {{{ Exception occurred during event dispatching: java.lang.NullPointerException at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.nextContentNode QuadBuckets.java:485) at org.openstreetmap.josm.data.osm.QuadBuckets$QuadBucketIterator.next_content_node(QuadBuckets.java:969) at org.openstreetmap.josm.data.osm.QuadBuckets$QuadBucketIterator.peek(QuadBuckets.java:1015) at org.openstreetmap.josm.data.osm.QuadBuckets$QuadBucketIterator.hasNext(QuadBuckets.java:993) at org.openstreetmap.josm.data.osm.QuadBuckets.toArrayList(QuadBuckets.java:943) at org.openstreetmap.josm.data.osm.QuadBuckets.toArray(QuadBuckets.java:953) at java.util.Collections$UnmodifiableCollection.toArray(Collections.java:1001) at java.util.ArrayList.(ArrayList.java:131) at org.openstreetmap.josm.data.osm.visitor.MapPaintVisitor.selectedLast(MapPaintVisitor.java:1429) at org.openstreetmap.josm.data.osm.visitor.MapPaintVisitor.visitAll(MapPaintVisitor.java:1523) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:247) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:388) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1030) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:567) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1475) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1406) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:294) at javax.swing.RepaintManager.paint(RepaintManager.java:1220) at javax.swing.JComponent.paint(JComponent.java:1015) at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21) at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60) at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97) at java.awt.Container.paint(Container.java:1780) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714) at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1045) at java.awt.Dialog$3.run(Dialog.java:1097) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1095) at java.awt.Component.show(Component.java:1563) at java.awt.Component.setVisible(Component.java:1515) at java.awt.Window.setVisible(Window.java:841) at java.awt.Dialog.setVisible(Dialog.java:985) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:79) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) java.lang.NullPointerException at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.split(QuadBuckets.java:289) at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.add_to_leaf(QuadBuckets.java:328) at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.add(QuadBuckets.java:564) at org.openstreetmap.josm.data.osm.QuadBuckets.add(QuadBuckets.java:819) at org.openstreetmap.josm.data.osm.QuadBuckets.addAll(QuadBuckets.java:873) at org.openstreetmap.josm.data.osm.DataSet.reindexAll(DataSet.java:767) at org.openstreetmap.josm.plugins.validator.tests.UnconnectedWays.startTest(UnconnectedWays.java:77) at org.openstreetmap.josm.plugins.validator.ValidateAction$ValidationTask.realRun(ValidateAction.java:164) at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:63) at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) java.lang.NullPointerException at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.split(QuadBuckets.java:289) at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.add_to_leaf(QuadBuckets.java:328) at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.add(QuadBuckets.java:564) at org.openstreetmap.josm.data.osm.QuadBuckets.add(QuadBuckets.java:819) at org.openstreetmap.josm.data.osm.QuadBuckets.addAll(QuadBuckets.java:873) at org.openstreetmap.josm.data.osm.DataSet.reindexAll(DataSet.java:767) at org.openstreetmap.josm.plugins.validator.tests.UnconnectedWays.startTest(UnconnectedWays.java:77) at org.openstreetmap.josm.plugins.validator.ValidateAction$ValidationTask.realRun(ValidateAction.java:164) at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:63) at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) p1 elapesd: 0 p2 elapesd: 0 p99 elapesd: 0 I then tried to upload data to server to save my work and I found that nodes were uploaded fine, but ways were not uploaded at all (the changeset contained no ways, even though I've modified some of them) Also, all ways disappeared from my view - from the dataset I've seen in JOSM." defect closed major Core latest fixed QuadBuckets NPE