Modify

Opened 12 years ago

Closed 12 years ago

#7593 closed defect (fixed)

IllegalPathStateException when attempting to purge an item in a Multipolygon

Reported by: rickmastfan67 Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: Cc:

Description

Just had this happen when I purged an item in JOSM. Here are the steps to reproduce:

  1. Download the following area: http://www.openstreetmap.org/?lat=35.81729&lon=-82.5362&zoom=16&layers=M
  2. Zoom in on the Interchange you see (Exit #11 on I-26) to about 63.9m
  3. Now, look for a "boundary=administrative" way that looks like a box. (It's right above the SB ramps for Exit #11)
  4. Select it (should be part of the "Mars Hill" multipolygon relation).
  5. Now Edit>Purge and hit the Purge button that shows up in the "Confirm Purging" window.
  6. JOSM will now crash and provide the following bug report.

Also, while the item in question will still get purged, it will not show up in the Command Stack in case you want to undo it, forcing you to re-download the entire area to get it back.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-04-10 01:32:25
Last Changed Author: akks
Revision: 5174
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-04-09 09:15:31 +0200 (Mon, 09 Apr 2012)
Last Changed Rev: 5174

Identification: JOSM/1.5 (5174 en)
Memory Usage: 303 MB / 2730 MB (80 MB allocated, but free)
Java version: 1.6.0_31, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Windows 7
Dataset consistency test: No problems found

Plugin: OpeningHoursEditor (27852)
Plugin: buildings_tools (27984)
Plugin: licensechange (27964)
Plugin: mapdust (27884)
Plugin: measurement (27957)
Plugin: openstreetbugs (27852)
Plugin: reverter (28089)
Plugin: turnrestrictions (27891)
Plugin: undelete (27852)
Plugin: utilsplugin2 (28045)

java.awt.geom.IllegalPathStateException: missing initial moveto in path definition
	at java.awt.geom.Path2D$Double.needRoom(Unknown Source)
	at java.awt.geom.Path2D.closePath(Unknown Source)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.buildPoly(Multipolygon.java:223)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.resetPoly(Multipolygon.java:310)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.resetNodes(Multipolygon.java:304)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.wayNodesChanged(Multipolygon.java:338)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.dispatchEvent(MultipolygonCache.java:181)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.processEvent(MultipolygonCache.java:162)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:149)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:128)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:123)
	at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.wayNodesChanged(MultipolygonCache.java:216)
	at org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent.fire(WayNodesChangedEvent.java:22)
	at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1008)
	at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:987)
	at org.openstreetmap.josm.command.PurgeCommand.executeCommand(PurgeCommand.java:119)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:36)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:58)
	at org.openstreetmap.josm.actions.PurgeAction.actionPerformed(PurgeAction.java:207)
	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.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$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$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)

Change History (1)

comment:1 by Don-vip, 12 years ago

Resolution: fixed
Status: newclosed

In 5176/josm:

fix #7593 - IllegalPathStateException when attempting to purge an item in a Multipolygon

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.