Modify

#23074 closed defect (fixed)

Reference to deleted member when attempting to undo relation toolbox reconstruct polygon action

Reported by: Woazboat Owned by: Zverikk
Priority: normal Milestone:
Component: Plugin reltoolbox Version:
Keywords: crash, reconstruct polygon, undo Cc:

Description

Encountered this crash while messing around and testing the relation toolbox plugin reconstruct polygon action.

  1. Find multipolygon with one closed outer member way (no other members)
  2. Split outer way at two nodes via the split (P) action so the multipolygon ends up having three separate outer way members.
  3. Use 'reconstruct polygon' action from relation toolbox plugin to convert multipolygon to a single closed way
  4. Attempt to undo the last action
  5. Crash
Revision:18772
Is-Local-Build:false
Build-Date:2023-07-07 16:55:16
Debian-Release:0.0.svn18772+dfsg-1
Build-Name:Debian

Identification: JOSM/1.5 (18772 Debian en_GB) Linux Debian GNU/Linux trixie/sid
Memory Usage: 834 MB / 3922 MB (164 MB allocated, but free)
Java version: 17.0.8-ea+6-Debian-5, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_IE.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: KDE
Java package: openjdk-17-jre:amd64-17.0.8~6-5
Java ATK Wrapper package: libatk-wrapper-java:all-0.40.0-3
libcommons-compress-java: libcommons-compress-java:all-1.23.0-1
libcommons-logging-java: libcommons-logging-java:all-1.2-3
fonts-noto: fonts-noto:all-20201225-1
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED]

Dataset consistency test:
[DELETED REFERENCED] {Relation id=15432180 version=1 MVT [way 933657994, way -653, way -654]} refers to deleted primitive {Way id=-653 version=0 MVD nodes=[]}
[DELETED REFERENCED] {Relation id=15432180 version=1 MVT [way 933657994, way -653, way -654]} refers to deleted primitive {Way id=-654 version=0 MVD nodes=[]}


Plugins:
+ DirectDownload (36097)
+ EasyPresets (1623509627)
+ FastDraw (36097)
+ Lanes (${version.entry.commit.revision})
+ Mapillary (2.1.5)
+ OSRM (UNKNOWN)
+ OpeningHoursEditor (36079)
+ PicLayer (1.0.2)
+ Review.Changes (1.0.5)
+ alignways (36097)
+ apache-commons (36034)
+ apache-http (35924)
+ areaselector (1652822522)
+ austriaaddresshelper (master-4e80dc2e4261d321150187f4951684ad97342d5e)
+ buildings_tools (36097)
+ centernode (v1.0.4)
+ changeset-viewer (0.0.6)
+ conflation (0.6.11)
+ contourmerge (v0.1.9)
+ editgpx (36097)
+ ejml (35924)
+ flatlaf (36036)
+ geotools (36068)
+ graphview (36079)
+ gridify (1606242219)
+ gson (35924)
+ http2 (35921)
+ imagery_offset_db (36079)
+ indoorhelper (1.2.2)
+ intersection (0.0.7)
+ jackan (${version.entry.commit.revision})
+ jackson (36034)
+ jaxb (35952)
+ jna (36005)
+ jogl (1.2.3)
+ jts (36004)
+ junctionchecking (36079)
+ kartverketimport (master-21e8b35eb349ceca2ab1987af57028117c097070)
+ kendzi3d-resources (0.0.2)
+ log4j (36045)
+ lwjgl (36034)
+ lwjgl-unixoid (36034)
+ measurement (36097)
+ notesolver (0.5.0)
+ opendata (36097)
+ openqa (v0.3.3)
+ osmwiki-dataitem (0.0.7)
+ pt_assistant (2.1.15-19-g9aeec3c-SNAPSHOT)
+ reltoolbox (36097)
+ reverter (36066)
+ rex (53)
+ routing (36097)
+ shrinkwrap (v1.0.4)
+ splinex (36097)
+ tageditor (36097)
+ terracer (36079)
+ todo (128)
+ turnlanes-tagging (0.0.5)
+ turnrestrictions (36097)
+ utilsplugin2 (36097)
+ wikipedia (605)

Tagging presets:
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/BicycleJunction&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historic_Stone&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Bus_lanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Heritage&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Industrial&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Leaftype&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Light_sources&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Manholes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MastAndTower&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/public_bookcase&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Simple_Indoor_Tagging&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://osmtools.de/josm/steps.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/StreetCabinet&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Surveillance&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/A.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Trees&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportOneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/TurnLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/contact(socialnetworks_IMs)&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportGtfs&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Windrad&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/AdvertisingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Community_Centre&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Crafts&zip=1
+ https://gitlab.com/k127/josm-presets/raw/master/diplomatic.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Mountains&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Disc_Golf_Course&zip=1
+ <josm.userdata>/EasyPresets.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParcelLockers&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Radwege&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Wikidata&zip=1
+ ${HOME}/syncthing/Sync/Projects/OSM/josm_git/core/resources/data/defaultpresets.xml
+ https://raw.githubusercontent.com/Heiner-Sch/JOSM-preset-trees-Europe/master/JOSM-Preset_Trees.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/OpenStationMap&zip=1

Map paint styles:
- ${HOME}/syncthing/Sync/Projects/OSM/josm_git/resources/styles/standard/elemstyles.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
+ https://raw.githubusercontent.com/yopaseopor/indoormap/master/indoormap-style.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Bench&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://github.com/osmlab/appledata/archive/josm_paint_inline_validation.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/plan.at&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Osmc&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/sac_scale&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/BesideTheRoad_Speed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AdvertisingStyle&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Admin_Boundaries&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Building_Levels_Labels&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Kerbs&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Postcode&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Suburb&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/DestinationSignRelation&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Direction&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Landcover&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Mountains&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NoFeature&zip=1
- https://raw.githubusercontent.com/OpenSidewalks/OpenSidewalks-Schema/24b8775893b4a70d439807085673c67a3dbb1883/open_sidewalks.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/PTStops&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/RecyclingMaterials&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleBuildingTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleRoofTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Ph_Typhoon&zip=1
- https://github.com/igitov/forest-josm-style/archive/master.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Incline&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LayerChecker&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LitObjects&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PriorityRoad&zip=1
- ${HOME}/josm/josm_area_highway_style.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Direction&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Greenery&zip=1
- <josm.userdata>/plugins/indoorhelper/resources/sit.mapcss

Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/OSMLint&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/IndoorRules&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/QAToolInspiredValidations&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1
- https://josm.openstreetmap.de/josmfile?page=Rules/PublicTransportGtfs&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/Pictures&zip=1
+ ${HOME}/josm/josm_area_highway_validator.validator.mapcss
+ ${HOME}/josm/heritage_bda.validator.mapcss

Last errors/warnings:
- 00243.780 W: Failed to load Mappaint styles from '${HOME}/josm/josm_area_highway_style.mapcss'. Exception was: java.nio.file.NoSuchFileException: ${HOME}/josm/josm_area_highway_style.mapcss
- 00243.780 E: java.nio.file.NoSuchFileException: ${HOME}/josm/josm_area_highway_style.mapcss
- 00760.972 W: java.net.http.HttpTimeoutException: request timed out
- 00760.973 W: java.net.http.HttpTimeoutException: request timed out
- 00760.980 W: java.net.http.HttpTimeoutException: request timed out
- 00760.982 W: java.net.http.HttpTimeoutException: request timed out
- 00760.988 W: java.net.http.HttpTimeoutException: request timed out
- 00760.989 W: java.net.http.HttpTimeoutException: request timed out
- 00761.031 W: java.net.http.HttpTimeoutException: request timed out
- 01167.588 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=15432180 version=1 MVT [way 933657994, way -653, way -654]} (changed by the following commands: [Sequence: Split way ‎933657994‎ (43 nodes)‌ into 3 parts])



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Reconstruct polygons from relation multipolygon ("commercial", 3 members)
 - sequence_command: Delete relation multipolygon ("commercial", 3 members)
 - sequence_index: 3
 - sequence_commands: [org.openstreetmap.josm.command.DeleteCommand;org.openstreetmap.josm.command.DeleteCommand;org.openstreetmap.josm.command.ChangeCommand;org.openstreetmap.josm.command.DeleteCommand]
 - sequence_commands_descriptions: [Delete way ‎0‎ (0 nodes)‌;Delete way ‎0‎ (0 nodes)‌;Change way ‎commercial (landuse)‎ (43 nodes)‌;Delete relation multipolygon ("commercial", 3 members)]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (30) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=15432180 version=1 MVT [way 933657994, way -653, way -654]} (changed by the following commands: [Sequence: Split way ‎933657994‎ (43 nodes)‌ into 3 parts])
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:496)
	at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:508)
	at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:61)
	at org.openstreetmap.josm.data.osm.Relation.load(Relation.java:283)
	at org.openstreetmap.josm.command.DeleteCommand.lambda$undoCommand$1(DeleteCommand.java:233)
	at org.openstreetmap.josm.data.osm.DataSet.update(DataSet.java:1063)
	at org.openstreetmap.josm.command.DeleteCommand.undoCommand(DeleteCommand.java:227)
	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.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2947)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:311)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:266)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3040)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3032)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2909)
	at java.desktop/java.awt.Component.processEvent(Component.java:6403)
	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.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1952)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1150)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4882)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	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 (1)

josm_reltoolbox_crash.joz (8.2 KB ) - added by Woazboat 19 months ago.

Download all attachments as: .zip

Change History (7)

by Woazboat, 19 months ago

Attachment: josm_reltoolbox_crash.joz added

comment:1 by taylor.smock, 17 months ago

In 36132/osm:

Fix some potential DataIntegrityProblemException sources

This also fixes some lint issues.

merge-overlap: See #19627
reltoolbox: See #23074, #23077, #23123

comment:2 by taylor.smock, 17 months ago

Ticket #16563 has been marked as a duplicate of this ticket.

comment:3 by taylor.smock, 17 months ago

Ticket #23077 has been marked as a duplicate of this ticket.

comment:4 by taylor.smock, 17 months ago

Ticket #23123 has been marked as a duplicate of this ticket.

comment:5 by taylor.smock, 17 months ago

In 36133/osm:

Fix some potential DataIntegrityProblemException sources (dist)

This also fixes some lint issues.

merge-overlap: See #19627
reltoolbox: See #23074, #23077, #23123

comment:6 by taylor.smock, 17 months ago

Resolution: fixed
Status: newclosed

I think this is fixed. Feel free to reopen if it isn't.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Zverikk.
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.