#12941 closed defect (fixed)
[Patch] IllegalArgumentException: Attempted to remove listener that was not in list
Reported by: | naoliv | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | 16.06 |
Component: | Core | Version: | |
Keywords: | gsoc-core | Cc: | michael2402 |
Description
Was adding lanes=2
to a highway, pressed Enter
and the error happened.
URL:http://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2016-06-09 23:01:04 +0200 (Thu, 09 Jun 2016) Build-Date:2016-06-10 01:32:20 Revision:10349 Relative:URL: ^/trunk Identification: JOSM/1.5 (10349 pt_BR) Linux Debian GNU/Linux testing (stretch) Memory Usage: 319 MB / 10206 MB (68 MB allocated, but free) Java version: 1.8.0_91-8u91-b14-2-b14, Oracle Corporation, OpenJDK 64-Bit Server VM VM arguments: [-Dawt.useSystemAAFontSettings=on] Dataset consistency test: No problems found Plugins: - Create_grid_of_ways (32158) - DxfImport (1006) - OpeningHoursEditor (32158) - PicLayer (32158) - RoadSigns (32177) - SimplifyArea (32158) - apache-commons (32158) - buildings_tools (32158) - conflation (0.2.0) - contourmerge (1014) - download_along (32158) - editgpx (32223) - ejml (32158) - geotools (31895) - imagery_offset_db (32158) - importvec (32158) - indoorhelper (32158) - jts (31906) - log4j (32158) - measurement (32158) - merge-overlap (32158) - opendata (32158) - pbf (32158) - pdfimport (32158) - poly (32158) - reverter (32158) - scripting (30722) - todo (29154) - turnrestrictions (32158) - undelete (32158) - utilsplugin2 (32158) Tagging presets: - https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1 Map paint styles: - <josm.pref>/styles/indoor.mapcss - /tmp/bla-style.mapcss - https://josm.openstreetmap.de/josmfile?page=Styles/Highway_Nodes&style&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Noname&style&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&style&zip=1 Validator rules: - /arquivos/git/validador-josm/Rules_Brazilian-Specific.validator.mapcss - /arquivos/git/validador-josm/staging.validator.mapcss - <josm.pref>/validator/indoorhelper.validator.mapcss Last errors/warnings: - E: java.lang.IllegalArgumentException: Attempted to remove listener that was not in list: LayerChangeAdapter [org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AddTagsDialog$6@4dde52d0] java.lang.IllegalArgumentException: Attempted to remove listener that was not in list: LayerChangeAdapter [org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AddTagsDialog$6@4dde52d0] at org.openstreetmap.josm.gui.layer.MainLayerManager.removeActiveLayerChangeListener(MainLayerManager.java:152) at org.openstreetmap.josm.actions.JosmAction.destroy(JosmAction.java:186) at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AddTagsDialog.destroyActions(TagEditHelper.java:1046) at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.addTag(TagEditHelper.java:218) at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$AddAction.actionPerformed(PropertiesDialog.java:1082) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663) at javax.swing.JComponent.processKeyBinding(JComponent.java:2882) at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307) at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:263) at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974) at javax.swing.JComponent.processKeyBindings(JComponent.java:2966) at javax.swing.JComponent.processKeyEvent(JComponent.java:2845) at java.awt.Component.processEvent(Component.java:6312) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771) at java.awt.Component.dispatchEventImpl(Component.java:4762) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) 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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 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 (1)
Change History (13)
comment:1 by , 8 years ago
Priority: | normal → major |
---|
comment:3 by , 8 years ago
The problem is that destroy gets called multiple times.
As with the notifyShow()/... problem, we can either find and fix the cause for this or we apply a workaround. I prefer to find out why destroy() is called twice because calling it twice might be a sign of the JosmAction being used after being destroyed.
comment:4 by , 8 years ago
I agree to prefer fixing.
@naoliv: Please try to give a reproducible description if possible.
comment:5 by , 8 years ago
At least here I can easily reproduce when doing this:
- create one node
Alt+A
- Type
name
,Tab
,foo
,Shift+Enter
- Type
surface
,Tab
,asphalt
,Shift+Enter
← here happens the error
I can see that most of the time the object ends only with name=foo
(ie, the last tag where the error happened isn't included in the object)
I can record what I am doing in a video if this could help, but I really don't know a better way to reproduce this.
comment:6 by , 8 years ago
Thanks, I was able to reproduce it now. Happens only when you submit the dialog using shift+enter.
I'll search for the root cause and fix it.
by , 8 years ago
Attachment: | patch-fix-12941.patch added |
---|
comment:7 by , 8 years ago
Summary: | IllegalArgumentException: Attempted to remove listener that was not in list → [Patch] IllegalArgumentException: Attempted to remove listener that was not in list |
---|
comment:8 by , 8 years ago
Milestone: | → 16.06 |
---|
comment:11 by , 8 years ago
Keywords: | gsoc-core added |
---|
Seems to be happening constantly (when adding tags, clicking at nowhere to deselect objects, etc)