Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#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)

patch-fix-12941.patch (698 bytes) - added by michael2402 3 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 3 years ago by naoliv

Priority: normalmajor

Seems to be happening constantly (when adding tags, clicking at nowhere to deselect objects, etc)

comment:2 Changed 3 years ago by naoliv

Cc: michael2402 added

Regression from #12937 I guess.

comment:3 Changed 3 years ago by michael2402

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 Changed 3 years ago by stoecker

I agree to prefer fixing.

@naoliv: Please try to give a reproducible description if possible.

comment:5 Changed 3 years ago by naoliv

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 Changed 3 years ago by michael2402

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.

Changed 3 years ago by michael2402

Attachment: patch-fix-12941.patch added

comment:7 Changed 3 years ago by michael2402

Summary: IllegalArgumentException: Attempted to remove listener that was not in list[Patch] IllegalArgumentException: Attempted to remove listener that was not in list

comment:8 Changed 3 years ago by stoecker

Milestone: 16.06

comment:9 Changed 3 years ago by stoecker

Resolution: fixed
Status: newclosed

In 10352/josm:

gsoc-core - patch by Michael Zangl - fix #12941 - unfreed resources

comment:10 Changed 3 years ago by stoecker

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

comment:11 Changed 3 years ago by stoecker

Keywords: gsoc-core added

comment:12 Changed 3 years ago by michael2402

Ticket #13061 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.

Add Comment


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

 
Note: See TracTickets for help on using tickets.