Modify

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#12999 closed defect (fixed)

[Patch] Exception after resolving conflicts

Reported by: malenki Owned by: team
Priority: normal Milestone: 16.06
Component: Core Version: latest
Keywords: template_report regression gsoc-core Cc: michael2402

Description (last modified by malenki)

What steps will reproduce the problem?

  1. Purchase a data layer with some conflicts. Cheap to get by reverting changeset 8302969 (not that there is anything bad inside)
  2. Resolve a conflict
  3. Admire the exception

Please provide any additional information below. Attach a screenshot if possible.

Tested with a blank ~/.josm plus reverter plugin

Got introduced after r10377, exists in r10392.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-06-19 02:15:46 +0200 (Sun, 19 Jun 2016)
Build-Date:2016-06-19 01:34:13
Revision:10422
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10422 de) Linux Debian GNU/Linux unstable (sid)
Memory Usage: 517 MB / 2222 MB (351 MB allocated, but free)
Java version: 1.8.0_91-b14, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Dsun.java2d.opengl=false]
Dataset consistency test: No problems found

Plugins:
- reverter (32158)

Last errors/warnings:
- W: Datei <josm.pref>/cache/tiles/TMS_INDEX_v2.data kann nicht gelöscht werden
- E: java.io.IOException: Stream closed
- W: Cannot retrieve any previous version of Punkt 568390111
- W: Konflikte gefunden - <html>44 Konflikte wurden entdeckt.</html>
- E: java.lang.IllegalArgumentException: Listener was not registered before: org.openstreetmap.josm.actions.ZoomToAction@2c5b04ba

java.lang.IllegalArgumentException: Listener was not registered before: org.openstreetmap.josm.actions.ZoomToAction@2c5b04ba
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayerChangeListener(LayerManager.java:316)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayerChangeListener(LayerManager.java:304)
	at org.openstreetmap.josm.gui.widgets.OsmPrimitivesTable.unlinkAsListener(OsmPrimitivesTable.java:93)
	at org.openstreetmap.josm.gui.conflict.pair.ListMerger.unlinkAsListener(ListMerger.java:886)
	at org.openstreetmap.josm.gui.conflict.pair.ConflictResolver.unregisterListeners(ConflictResolver.java:352)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.unregisterListeners(ConflictResolutionDialog.java:105)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.removeNotify(ConflictResolutionDialog.java:50)
	at java.awt.Window$1DisposeAction.run(Window.java:1194)
	at java.awt.Window.doDispose(Window.java:1210)
	at java.awt.Dialog.doDispose(Dialog.java:1198)
	at java.awt.Window.dispose(Window.java:1151)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.closeDialog(ConflictResolutionDialog.java:71)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.access$000(ConflictResolutionDialog.java:40)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog$ApplyResolutionAction.actionPerformed(ConflictResolutionDialog.java:235)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	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:6535)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6300)
	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.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	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.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1673)
	at java.awt.Component.setVisible(Component.java:1625)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.setVisible(ConflictResolutionDialog.java:66)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.resolve(ConflictDialog.java:225)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.access$400(ConflictDialog.java:76)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$MouseEventHandler.mouseClicked(ConflictDialog.java:361)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
	at java.awt.Component.processMouseEvent(Component.java:6538)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6300)
	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.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	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-12999.patch (5.2 KB) - added by michael2402 5 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 5 years ago by malenki

Description: modified (diff)
Keywords: regression added

comment:2 Changed 5 years ago by Don-vip

Cc: michael2402 added
Keywords: gsoc-core added
Milestone: 16.06

Changed 5 years ago by michael2402

Attachment: patch-fix-12999.patch added

comment:3 Changed 5 years ago by michael2402

I found the problem: The listener handling in this dialog was only done on construction, that way listeners did not get added when they should.

comment:4 Changed 5 years ago by michael2402

Summary: Exception after resolving conflicts[Patch] Exception after resolving conflicts

comment:5 Changed 5 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 10454/josm:

fix #12999 - Exception after resolving conflicts (patch by michael2402, modified) - gsoc-core

comment:6 Changed 5 years ago by michael2402

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