Modify

Opened 5 months ago

Closed 3 months ago

#24311 closed defect (fixed)

Exception thrown when restoring deleted object's coordinates

Reported by: Safwat Owned by: team
Priority: minor Milestone: 25.06
Component: Core Version:
Keywords: template_report Cc:

Description (last modified by stoecker)

What steps will reproduce the problem?

  1. In expert mode, click file => Download (CTRTL+SHIFT+O) node id 12881256801
  2. JOSM will display a warning popup that the object is deleted. click "OK" to close the warning.
  3. View => History (CTRL+H) to see the object's history
  4. Go to the coordinates tab. Put the left radio box on some old changeset and the right on the latest
  5. Right click the coordinates and then click "restore"

What is the expected result?

Restoring a deleted node.

What happens instead?

Exception thrown.

Please provide any additional information below. Attach a screenshot if possible.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2025-05-01 13:38:02 +0200 (Thu, 01 May 2025)
Revision:19396
Build-Date:2025-05-02 01:30:34
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19396 en)

Plugins:
+ reverter (36438)

Last errors/warnings:
- 00473.299 E: Handled by bug report queue: java.lang.NullPointerException: Cannot read field "x" because "other" is null
- 00802.552 E: Handled by bug report queue: java.lang.NullPointerException: Cannot read field "x" because "other" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (20) of main
java.lang.NullPointerException: Cannot read field "x" because "other" is null
	at org.openstreetmap.josm.data.coor.EastNorth.subtract(EastNorth.java:70)
	at org.openstreetmap.josm.command.MoveCommand.<init>(MoveCommand.java:77)
	at org.openstreetmap.josm.gui.history.CoordinateInfoViewer$RestoreCoordinateAction.actionPerformed(CoordinateInfoViewer.java:459)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (4)

comment:1 by stoecker, 5 months ago

Milestone: 25.05

comment:2 by stoecker, 4 months ago

Milestone: 25.0525.06

comment:3 by stoecker, 3 months ago

Description: modified (diff)

comment:4 by stoecker, 3 months ago

Resolution: fixed
Status: newclosed

In 19421/josm:

fix #24311 - exception when trying to restore bad coordinate

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.