Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#9670 closed defect (fixed)

IndexOutOfBoundsException with Tag Conflict Resolver

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

Description

Steps to reproduce:

  1. Download attached file and open it in JOSM.
  2. Select the two ways and hit "c" to combine them.
  3. Make sure the "Show tags with conflicts only" box is the only one checked.
  4. Now, start 'solving' all the conflicts one by one starting at the top and going down till the Tag Conflict Resolver looks like as follows:


  1. Now, move your mouse over top of the "Show tags with conflicts only" text and watch the already solved conflicts disappear.
  2. Take your mouse now down to attempt to resolve the "tiger:name_type" tag again.

What happens:
JOSM throws up the following IndexOutOfBoundsException error shown below:

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2014-02-02 02:36:17
Last Changed Author: Don-vip
Revision: 6800
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2014-02-01 13:05:30 +0100 (Sat, 01 Feb 2014)
Last Changed Rev: 6800

Identification: JOSM/1.5 (6800 en) Windows 7 64-Bit
Memory Usage: 258 MB / 1820 MB (186 MB allocated, but free)
Java version: 1.7.0_51, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Xmx2048M]
Dataset consistency test: No problems found

Plugin: ImageryCache (30135)
Plugin: OpeningHoursEditor (30117)
Plugin: buildings_tools (30057)
Plugin: measurement (30104)
Plugin: mirrored_download (30162)
Plugin: notes (v0.8)
Plugin: osmarender (29854)
Plugin: reverter (30031)
Plugin: turnrestrictions (30237)
Plugin: undelete (30207)
Plugin: utilsplugin2 (30200)

java.lang.IndexOutOfBoundsException: Index: 7, Size: 4
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at org.openstreetmap.josm.gui.conflict.tags.TagConflictResolverModel.getKey(TagConflictResolverModel.java:147)
	at org.openstreetmap.josm.gui.conflict.tags.TagConflictResolverModel.getDecision(TagConflictResolverModel.java:232)
	at org.openstreetmap.josm.gui.conflict.tags.TagConflictResolverModel.setValueAt(TagConflictResolverModel.java:168)
	at javax.swing.JTable.setValueAt(Unknown Source)
	at javax.swing.JTable.editingStopped(Unknown Source)
	at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
	at javax.swing.AbstractCellEditor.stopCellEditing(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
	at java.awt.AWTEventMulticaster.mousePressed(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$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$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.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog.setVisible(CombinePrimitiveResolverDialog.java:370)
	at org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog.launchIfNecessary(CombinePrimitiveResolverDialog.java:520)
	at org.openstreetmap.josm.actions.CombineWayAction.combineWaysWorker(CombineWayAction.java:184)
	at org.openstreetmap.josm.actions.CombineWayAction.actionPerformed(CombineWayAction.java:216)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(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$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$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)

I'm marking this as "major" since this does break the Tag Conflict Resolver till you close it and reopen it.

Attachments (2)

ticket9670.png (47.6 KB ) - added by rickmastfan67 10 years ago.
ticket9670.osm (14.2 KB ) - added by rickmastfan67 10 years ago.

Download all attachments as: .zip

Change History (6)

by rickmastfan67, 10 years ago

Attachment: ticket9670.png added

by rickmastfan67, 10 years ago

Attachment: ticket9670.osm added

comment:1 by Don-vip, 10 years ago

Milestone: 14.02

comment:2 by simon04, 10 years ago

Not reproducable with newest version since conflict auto suggestion has been changed in r6802. Still let's keep this open till milestone:14.02 to see if this is really solved.

comment:3 by Don-vip, 10 years ago

Resolution: fixed
Status: newclosed

comment:4 by Don-vip, 10 years ago

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

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.