Modify

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#11664 closed defect (fixed)

unhandled exception after hitting ok in relation editor (2 re open)

Reported by: anonymous Owned by: team
Priority: blocker Milestone: 15.08
Component: Core Version:
Keywords: template_report regression Cc: Shinigami, malenki

Description

What steps will reproduce the problem?

  1. download data (maybe not necessary)
  2. select a closed way
  3. make a multipolygon with tool "create multipolygon" (maybe not necessary)
  4. open the relation editor
  5. add a tag
  6. hit ok to save the relation --> Exception
Revision: 8574
Repository Root: http://josm.openstreetmap.de/svn
Relative URL: ^/trunk
Last Changed Author: bastiK
Last Changed Date: 2015-07-05 22:14:49 +0200 (Sun, 05 Jul 2015)
Build-Date: 2015-07-06 01:31:55
URL: http://josm.openstreetmap.de/svn/trunk
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last Changed Rev: 8574

Identification: JOSM/1.5 (8574 en) Mac OS X 10.10.4
Memory Usage: 791 MB / 1820 MB (141 MB allocated, but free)
Java version: 1.8.0_45, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Dsun.java2d.opengl=true]
Dataset consistency test: No problems found

Plugins:
- TombPlugin (44)
- alignways (31241)
- buildings_tools (31241)
- geochat (31241)
- imagery_offset_db (31241)
- mirrored_download (31294)
- print (31329)
- proj4j (31241)
- reltoolbox (31241)
- reverter (31241)
- undelete (31241)
- utilsplugin2 (31241)

Last errors/warnings:
- E: java.lang.UnsupportedOperationException
- E: java.lang.UnsupportedOperationException

java.lang.UnsupportedOperationException
	at java.util.Collections$1.remove(Collections.java:4684)
	at java.util.AbstractCollection.clear(AbstractCollection.java:436)
	at java.util.AbstractMap.clear(AbstractMap.java:297)
	at org.openstreetmap.josm.gui.tagging.TagEditorModel.applyToTags(TagEditorModel.java:421)
	at org.openstreetmap.josm.gui.tagging.TagEditorModel.applyToPrimitive(TagEditorModel.java:410)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$SavingAction.applyExistingNonConflictingRelation(GenericRelationEditor.java:1310)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$OKAction.run(GenericRelationEditor.java:1425)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$OKAction.actionPerformed(GenericRelationEditor.java:1433)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6525)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6290)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (0)

Change History (14)

comment:1 by Don-vip, 9 years ago

Cc: Shinigami added
Keywords: regression added
Milestone: 15.07

comment:2 by Don-vip, 9 years ago

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

comment:3 by shinigami, 9 years ago

Hi, it is caused by change in https://josm.openstreetmap.de/changeset/8566/josm :/ Please comment out code paths with empty/singleton, and maybe in keySet() too, just to be sure.. I will make better copying between primitives later.

Version 0, edited 9 years ago by shinigami (next)

comment:4 by Don-vip, 9 years ago

I think we can keep it and provide a new clearTags() method instead.

comment:5 by shinigami, 9 years ago

My idea was to create another method returning directly internal array of tags. Now, there is only one place, where this array is modified (one case of put), so if we change it, it will be possible to share array between primitives without xform to map and back.

Plus lot of usages of getKey() and keySet() do not need realy Map and Set, could be better to have extra wrapper or add something as forEachTag() to Primitive (and move to jdk8:).

comment:6 by malenki, 9 years ago

Cc: malenki added

comment:7 by malenki, 9 years ago

I stumbled over this exception by trying to add ways to a relation. IMHO this issue could be marked as blocker since it makes editing of relations nearly impossible.

comment:8 by Don-vip, 9 years ago

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

comment:9 by Don-vip, 9 years ago

Priority: criticalblocker

comment:10 by Don-vip, 9 years ago

Resolution: fixed
Status: newclosed

In 8581/josm:

fix #11664 - fix regression of r8566 for relation editor

comment:11 by ViriatoLusitano, 9 years ago

Thanks Don-vip!

comment:12 by Don-vip, 9 years ago

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

comment:13 by Don-vip, 9 years ago

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

comment:14 by Don-vip, 9 years ago

Milestone: 15.0715.08

Milestone renamed

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.