Modify

#7593 closed defect (fixed)

IllegalPathStateException when attempting to purge an item in a Multipolygon

Reported by: rickmastfan67 Owned by: team
Priority: normal 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 Changed 14 months ago by Don-vip

  • Resolution set to fixed
  • Status changed from new to closed

In 5176/josm:

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

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed .
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.