﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
23756	Crashed after undo sequence extrude way	RoadGeek_MD99	taylor.smock	"==== What steps will reproduce the problem?
1. Saved my edits.
2. Made 2 or 3 edits, moved buildings (sourced from Map with AI).
3. Undo 3 or 4 edits, last being an extrude way.

==== What is the expected result?
Can't go back before save.

==== What happens instead?
Crashed at edit 0?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19096
Build-Date:2024-06-04 11:25:36

Identification: JOSM/1.5 (19096 en) Mac OS X 13.6.7
OS Build number: macOS 13.6.7 (22G720)
Memory Usage: 1616 MB / 4096 MB (498 MB allocated, but free)
Java version: 21.0.3+9-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 69734208 1440×900 (scaling 2.00×2.00)
Maximum Screen Size: 1440×900
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19096, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Plugins:
+ FastDraw (36226)
+ FixAddresses (36258)
+ HouseNumberTaggingTool (36226)
+ ImportImagePlugin (36184)
+ Mapillary (2.2.4)
+ apache-commons (36273)
+ apache-http (36273)
+ buildings_tools (36226)
+ ejml (36176)
+ geotools (36273)
+ imagery_offset_db (36226)
+ jackson (36273)
+ jaxb (36118)
+ jna (36273)
+ jts (36004)
+ log4j (36273)
+ mapwithai (829)
+ measurement (36256)
+ opendata (36256)
+ photo_geotagging (36276)
+ pmtiles (36219)
+ reltoolbox (36280)
+ reverter (36256)
+ tageditor (36258)
+ terracer (36205)
+ todo (137)
+ turnlanes-tagging (0.0.5)
+ turnrestrictions (36226)
+ utilsplugin2 (36241)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/US.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features_ryg&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 192425.029 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_210437040.osm
- 192725.050 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_210937031.osm
- 193025.050 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_211437043.osm
- 193325.076 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_211937036.osm
- 193625.077 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_212437054.osm
- 193925.129 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_212937046.osm
- 194225.094 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_213437133.osm
- 195125.115 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_213937106.osm
- 195725.171 W: Unable to delete old backup file <josm.userdata>/autosave/MapWithAI_20240624_215437134.osm
- 196177.135 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=-4610647783804925219 version=0 MVT nodes=[{Node id=-4608573274821625756 version=0 MVD lat=39.18949117774596,lon=-76.87748302126694}, {Node id=-4608573274821625759 version=0 MVD lat=39.18959155380722,lon=-76.8774847031825}, {Node id=-4608573274821625760 version=0 MVD lat=39.18957256321111,lon=-76.87742770724661}, {Node id=-4608573274821625758 version=0 MVD lat=39.18957364280734,lon=-76.87732045237105}, {Node id=-4608573274821625757 version=0 MVD lat=39.189492827749326,lon=-76.87731909822259}, {Node id=-4608573274821625756 version=0 MVD lat=39.18949117774596,lon=-76.87748302126694}]} (changed by the following commands: [Sequence: Create building], [Sequence: Add a new node to an existing way])



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Extrude Way
 - sequence_command: Change nodes of ‎building‎ (5 nodes) [id: 0]‌
 - sequence_index: 2
 - sequence_commands: [org.openstreetmap.josm.command.MoveCommand;org.openstreetmap.josm.command.AddCommand;org.openstreetmap.josm.command.ChangeNodesCommand]
 - sequence_commands_descriptions: [Move 1 node;Add node node [id: 0];Change nodes of ‎building‎ (5 nodes) [id: 0]‌]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (37) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=-4610647783804925219 version=0 MVT nodes=[{Node id=-4608573274821625756 version=0 MVD lat=39.18949117774596,lon=-76.87748302126694}, {Node id=-4608573274821625759 version=0 MVD lat=39.18959155380722,lon=-76.8774847031825}, {Node id=-4608573274821625760 version=0 MVD lat=39.18957256321111,lon=-76.87742770724661}, {Node id=-4608573274821625758 version=0 MVD lat=39.18957364280734,lon=-76.87732045237105}, {Node id=-4608573274821625757 version=0 MVD lat=39.189492827749326,lon=-76.87731909822259}, {Node id=-4608573274821625756 version=0 MVD lat=39.18949117774596,lon=-76.87748302126694}]} (changed by the following commands: [Sequence: Create building], [Sequence: Add a new node to an existing way])
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:555)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:573)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:68)
	at org.openstreetmap.josm.data.osm.Way.load(Way.java:284)
	at org.openstreetmap.josm.command.Command.undoCommand(Command.java:171)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommands(SequenceCommand.java:138)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommand(SequenceCommand.java:167)
	at org.openstreetmap.josm.data.UndoRedoHandler.lambda$undo$0(UndoRedoHandler.java:381)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWait(GuiHelper.java:225)
	at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:372)
	at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:362)
	at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:39)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	defect	new	normal		Plugin mapwithai			template_report	
