Modify

Opened 13 years ago

Last modified 5 years ago

#7869 new defect

delete while edit tag dialog opens results in unhandled exception

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

Description

I clicked on "edit tag" and while the dialogue was opening hit d (because it is the first letter of what I wanted to put into the tag). This resulted in an unhandled exception (I was too fast, so the node was deleted before the dialog to edit the tag of the node had opened):

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-07-15 01:31:12
Last Changed Author: bastiK
Revision: 5341
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-07-14 20:23:00 +0200 (Sat, 14 Jul 2012)
Last Changed Rev: 5341

Identification: JOSM/1.5 (5341 en)
Memory Usage: 963 MB / 989 MB (236 MB allocated, but free)
Java version: 1.6.0_26, Sun Microsystems Inc., Java HotSpot(TM) Client VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: ImportImagePlugin (28412)
Plugin: OpeningHoursEditor (28477)
Plugin: PicLayer (27883)
Plugin: buildings_tools (28412)
Plugin: dataimport (28412)
Plugin: editgpx (28412)
Plugin: licensechange (28412)
Plugin: measurement (28412)
Plugin: multipoly-convert (28412)
Plugin: osmarender (28412)
Plugin: pdfimport (28448)
Plugin: photo_geotagging (28412)
Plugin: public_transport (28412)
Plugin: restart (28438)
Plugin: reverter (28412)
Plugin: tagging-preset-tester (28412)
Plugin: terracer (28412)
Plugin: undelete (28416)
Plugin: utilsplugin2 (28412)

java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Vector.java:427)
	at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:632)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.selectionChanged(PropertiesDialog.java:941)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.fireEvents(SelectionEventManager.java:78)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.access$200(SelectionEventManager.java:20)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager$1.run(SelectionEventManager.java:85)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Attachments (0)

Change History (1)

comment:1 by mdk, 5 years ago

With version 15520 I could still reproduce this behavior. Actually delete has the HotKey "delete" instead of "d". But it's not easy to reproduce, but the detailed steps are:

  • select a way
  • select an attribute
  • hit the "Edit" Button for the attribute and simultaneous press the "delete" key on the keyboard
    • Depending on the timing, you could get different results:
    • The way still exists, the attribute is deleted, the editor dialog is opend (with the deleted key and value) - not interesting, try again
    • The way still exists, the attribute still exists, the editor dialog is opend, the value is cleard - not interesting, try again
    • The way is deleted and the editor is opend for the attribute of the deleted way (with old key and value) - bingo!
      • Now edit the value and press "ok" -> you get this exception:
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-11-06 07:17:52 +0100 (Wed, 06 Nov 2019)
Revision:15520
Build-Date:2019-11-07 02:30:54
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (15520 en) Linux Ubuntu 19.10
Memory Usage: 399 MB / 1980 MB (188 MB allocated, but free)
Java version: 11.0.5-ea+10-post-Ubuntu-0ubuntu1, Ubuntu, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-11-jre:amd64-11.0.5+10-0ubuntu1
Java ATK Wrapper package: libatk-wrapper-java:all-0.35.0-3
libcommons-compress-java: libcommons-compress-java:all-1.18-3
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:-
VM arguments: [-Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ ColumbusCSV (34985)
+ FastDraw (34977)
+ HouseNumberTaggingTool (34977)
+ OpeningHoursEditor (34977)
+ RoadSigns (UNKNOWN)
+ SimplifyArea (34977)
+ buildings_tools (35171)
+ contourmerge (v0.1.5)
+ imagery-xml-bounds (35100)
+ imagery_offset_db (34908)
+ pbf (35033)
+ poly (34991)
+ public_transport (35221)
+ reltoolbox (35196)
+ reverter (35226)
+ terracer (34977)
+ turnrestrictions (34977)
+ utilsplugin2 (35177)
+ wikipedia (1.1.2)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&preset&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&style&zip=1

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.util.NoSuchElementException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.util.NoSuchElementException
	at org.openstreetmap.josm.tools.SubclassFilteredCollection$FilterIterator.next(SubclassFilteredCollection.java:59)
	at org.openstreetmap.josm.command.ChangePropertyCommand.<init>(ChangePropertyCommand.java:108)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$EditTagDialog.performTagEdit(TagEditHelper.java:528)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.editTag(TagEditHelper.java:285)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$EditAction.actionPerformed(PropertiesDialog.java:1138)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6397)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	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)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to dieterdreist.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.