Opened 18 years ago
Closed 18 years ago
#392 closed defect (fixed)
NPE when merging
| Reported by: | Owned by: | framm | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | Cc: |
Description
I was downloading one bbox, then one overlapping with it and got an NPE. The nodes from the new bbox were merged, but some ways were missing afterwards. (Unfortunately I can't reproduce it anymore.)
download: http://www.openstreetmap.org/api/0.5/map?bbox=16.300458551651065,48.19654985374259,16.304897063136416,48.19915047919847
got return: 200
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.openstreetmap.josm.gui.PleaseWaitRunnable.closeDialog(PleaseWaitRunnable.java:146)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:95)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:997)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.closeDialog(PleaseWaitRunnable.java:142)
... 4 more
Caused by: java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
at java.util.regex.Matcher.reset(Matcher.java:291)
at java.util.regex.Matcher.<init>(Matcher.java:211)
at java.util.regex.Pattern.matcher(Pattern.java:888)
at org.openstreetmap.josm.tools.DateParser.parse(DateParser.java:35)
at org.openstreetmap.josm.data.osm.OsmPrimitive.getTimestamp(OsmPrimitive.java:127)
at org.openstreetmap.josm.data.osm.visitor.MergeVisitor.mergeAfterId(MergeVisitor.java:311)
at org.openstreetmap.josm.data.osm.visitor.MergeVisitor.visit(MergeVisitor.java:91)
at org.openstreetmap.josm.data.osm.Way.visit(Way.java:23)
at org.openstreetmap.josm.gui.layer.OsmDataLayer.mergeFrom(OsmDataLayer.java:174)
at org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask$Task.finish(DownloadOsmTask.java:49)
at org.openstreetmap.josm.gui.PleaseWaitRunnable$4.run(PleaseWaitRunnable.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
at java.awt.Dialog$1.run(Dialog.java:1039)
at java.awt.Dialog$3.run(Dialog.java:1091)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1089)
at java.awt.Component.show(Component.java:1419)
at java.awt.Component.setVisible(Component.java:1372)
at java.awt.Window.setVisible(Window.java:801)
at java.awt.Dialog.setVisible(Dialog.java:979)
at org.openstreetmap.josm.gui.PleaseWaitRunnable$3.run(PleaseWaitRunnable.java:78)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
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)
Attachments (2)
Change History (6)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Arrgh. Why did I ever even think about removing code handling incomplete segments?
This is the second of these bugs (the first one was #385) that bites us because JOSM doesn't handle incomplete objects properly. I guess these bugs will be with us for a while. I'd better get used to it.
comment:3 by , 18 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
Yeah, that wasn't the whole story. It still doesn't work. It just doesn't throw an NPE. Now we get an empty way...
I'll go to bed now. Fix will probably arrive tomorrow when I understand what the MergeVisitor is actually doing.
comment:4 by , 18 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
I think I have fixed this now in r370.



Okay, I can reproduce this now. Loading tmp2.osm and tmp.osm, and then merging them triggers the NPE.