Modify ↓
Opened 10 years ago
Closed 10 years ago
#11760 closed defect (fixed)
NPE in utilsplugin2's replacegeometry
| Reported by: | rickmastfan67 | Owned by: | team |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Plugin utilsplugin2 | Version: | latest |
| Keywords: | Cc: |
Description
I got this because I tried to replace the geometry of a way that had a 'redacted' node in it after I undeleted it.
Steps to reproduce:
- First make sure you have the undelete & utilsplugin2 plugins installed.
- Undelete the following way: https://www.openstreetmap.org/way/158977006/
- Notice that one of the nodes is mentioned that it was redacted, however, it really wasn't. (See #10102)
- Now, download some the data around the 'undeleted' way making sure all the 'undeleted' nodes will be in the boundingbox area. (This will also make the undeleted way show up.)
- Draw a new geometry for the way you undeleted (doesn't need to be long, just a new 2 node way will trigger the NPE).
- Select the 'undeleted' way and the new way and then do a 'replacegeometry'.
What happens:
The utilsplugin2 crashes because of a NPE.
What should happen:
JOSM should ignore trying to place the 'redacted' node (that really isn't redacted, but JOSM thinks it is, see above) into the new way.
However, if #10102 could be fixed first, this bug might never happen.
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2015-08-06 01:32:57
Last Changed Author: wiktorn
Revision: 8643
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Relative URL: ^/trunk
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2015-08-05 23:51:30 +0200 (Wed, 05 Aug 2015)
Last Changed Rev: 8643
Identification: JOSM/1.5 (8643 en) Windows 7 64-Bit
Memory Usage: 619 MB / 1820 MB (200 MB allocated, but free)
Java version: 1.7.0_79, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Dataset consistency test:
[NO DATASET] {Node id=113983539 version=9 V } is referenced by {Way id=158977006 version=7 MT> nodes=[{Node id=114048338 version=9 V lat=34.0131763,lon=-81.038849}, {Node id=113983539 version=9 V }, {Node id=114031153 version=7 MV lat=34.01411274966615,lon=-81.03633525144647}, {Node id=114031130 version=10 MV lat=34.01431006622883,lon=-81.03570327169628}, {Node id=114048340 version=8 M lat=34.0145112,lon=-81.0352531}, {Node id=2597719668 version=4 M lat=34.0146755,lon=-81.0343636}, {Node id=2597719656 version=3 V lat=34.0147395,lon=-81.0341519}, {Node id=2925067967 version=1 V lat=34.0147815,lon=-81.0340235}]} but not found in dataset
Plugins:
- OpeningHoursEditor (31241)
- buildings_tools (31361)
- measurement (31289)
- mirrored_download (31294)
- osmarender (31241)
- reverter (31241)
- turnrestrictions (31241)
- undelete (31241)
- utilsplugin2 (31241)
Last errors/warnings:
- W: New conflict: Conflict [my={Node id=114048335 version=10 D }, their={Node id=114048335 version=0 IV lat=34.012764,lon=-81.0404801}]
- W: JCS TMS Cache - error creating URL for tile 18/72060/104707@Bing Sat: Attribution is not loaded yet
- W: No url returned for: Bing Sat:http://www.bing.com/maps/18/72060/104707, skipping
- W: Unable to undelete node 113,983,539. Object has likely been redacted
- E: java.lang.NullPointerException
java.lang.NullPointerException
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryUtils.isInArea(ReplaceGeometryUtils.java:430)
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryUtils.isInArea(ReplaceGeometryUtils.java:442)
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryUtils.buildReplaceWayCommand(ReplaceGeometryUtils.java:246)
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryUtils.buildReplaceWayWithNewCommand(ReplaceGeometryUtils.java:240)
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryUtils.buildReplaceWithNewCommand(ReplaceGeometryUtils.java:56)
at org.openstreetmap.josm.plugins.utilsplugin2.replacegeometry.ReplaceGeometryAction.actionPerformed(ReplaceGeometryAction.java:49)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$300(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Attachments (0)
Note:
See TracTickets
for help on using tickets.



NPE fixed in [o31463:31464].