﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
14484	josm crash after large relation edit upload	knowname	floscher	"==== What steps will reproduce the problem?
1. Ctrl+Shift+o open large relation
2. upload edit
3. delete layer
4. close josm

==== What is the expected result?
josm should close

==== What happens instead?
josm crashed

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-02-26 23:10:22 +0100 (Sun, 26 Feb 2017)
Build-Date:2017-02-26 22:34:39
Revision:11639
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11639 de) Linux Ubuntu 16.04.2 LTS
Memory Usage: 841 MB / 3538 MB (334 MB allocated, but free)
Java version: 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 3840x2160
Maximum Screen Size: 3840x2160
Java package: openjdk-8-jre:amd64-8u121-b13-0ubuntu1.16.04.2
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true]

Plugins:
+ Mapillary (v1.4.0)
+ apache-commons (32994)
+ apache-http (32699)
+ reverter (33088)
+ utilsplugin2 (33124)

Last errors/warnings:
- E: Handled by bug report queue: java.lang.IllegalArgumentException: Listener Bildinformationen (instance of org.openstreetmap.josm.plugins.mapillary.gui.imageinfo.ImageInfoPanel) was not registered before or already removed.


=== REPORTED CRASH DATA ===
DialogsPanel#destroy:
 - dialog: Bildinformationen
 - dialog-class: class org.openstreetmap.josm.plugins.mapillary.gui.imageinfo.ImageInfoPanel

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.IllegalArgumentException: Listener Bildinformationen (instance of org.openstreetmap.josm.plugins.mapillary.gui.imageinfo.ImageInfoPanel) was not registered before or already removed.
	at org.openstreetmap.josm.tools.ListenerList.failRemove(ListenerList.java:134)
	at org.openstreetmap.josm.tools.ListenerList$TracingListenerList.failRemove(ListenerList.java:211)
	at org.openstreetmap.josm.tools.ListenerList.removeListener(ListenerList.java:128)
	at org.openstreetmap.josm.tools.ListenerList$TracingListenerList.removeListener(ListenerList.java:195)
	at org.openstreetmap.josm.data.Preferences.removePreferenceChangeListener(Preferences.java:247)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog.destroy(ToggleDialog.java:460)
	at org.openstreetmap.josm.gui.dialogs.DialogsPanel.destroy(DialogsPanel.java:326)
	at org.openstreetmap.josm.gui.MapFrame.destroy(MapFrame.java:319)
	at org.openstreetmap.josm.gui.MainPanel.updateContent(MainPanel.java:58)
	at org.openstreetmap.josm.gui.MainPanel$1.afterLastLayerRemoved(MainPanel.java:160)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:270)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveLayer(LayerManager.java:228)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$removeLayer$1(LayerManager.java:214)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:138)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:214)
	at org.openstreetmap.josm.gui.layer.LayerManager.realResetState(LayerManager.java:455)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realResetState(MainLayerManager.java:376)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:138)
	at org.openstreetmap.josm.gui.layer.LayerManager.resetState(LayerManager.java:449)
	at org.openstreetmap.josm.Main.shutdown(Main.java:877)
	at org.openstreetmap.josm.gui.MainApplication.shutdown(MainApplication.java:119)
	at org.openstreetmap.josm.Main.exitJosm(Main.java:856)
	at org.openstreetmap.josm.actions.ExitAction.actionPerformed(ExitAction.java:30)
	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:6310)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	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:4760)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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:80)
	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)

=== RUNNING THREADS ===
Thread: AWT-XAWT (14) of system
sun.awt.X11.XToolkit.waitForEvents(Native Method)
sun.awt.X11.XToolkit.run(XToolkit.java:568)
sun.awt.X11.XToolkit.run(XToolkit.java:532)
java.lang.Thread.run(Thread.java:745)

Thread: Timer-1 (62) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.util.TimerThread.mainLoop(Timer.java:526)
java.util.TimerThread.run(Timer.java:505)

Thread: message-notifier-0 (38) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.lang.ref.Reference.tryHandlePending(Reference.java:191)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

Thread: AWT-Shutdown (19) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTP Server (32) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
java.net.ServerSocket.accept(ServerSocket.java:513)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: Timer-0 (36) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:552)
java.util.TimerThread.run(Timer.java:505)

Thread: File Watcher (11) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$4/2040495657.run(Unknown Source)
java.lang.Thread.run(Thread.java:745)

Thread: TimerQueue (21) of system
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
javax.swing.TimerQueue.run(TimerQueue.java:174)
java.lang.Thread.run(Thread.java:745)

Thread: Signal Dispatcher (4) of system

Thread: AWT-EventQueue-0 (18) of main
Stacktrace see above.

Thread: Java2D Disposer (12) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
sun.java2d.Disposer.run(Disposer.java:148)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTPS Server (34) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:348)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Thread: RemoteControl HTTP Server (33) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
java.net.ServerSocket.accept(ServerSocket.java:513)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: Thread-1 (10) of main
sun.nio.fs.LinuxWatchService.poll(Native Method)
sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)
sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)
java.lang.Thread.run(Thread.java:745)

Thread: Map Status Collector (74) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.awt.EventQueue.invokeAndWait(EventQueue.java:1315)
java.awt.EventQueue.invokeAndWait(EventQueue.java:1296)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:408)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTPS Server (35) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:348)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Thread: DestroyJavaVM (39) of main

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
}}}
"	defect	closed	normal		Plugin mapillary		duplicate	template_report	
