﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
19638	ConcurrentModificationException in PluginListParser.addPluginInformation	JanVanBekkum	team	"==== What steps will reproduce the problem?
1. Start JOSM
2. 
3. 

==== What is the expected result?
Initial screen

==== What happens instead?
Crash

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-07-30 12:44:04 +0200 (Thu, 30 Jul 2020)
Build-Date:2020-07-31 01:30:49
Revision:16812
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16812 en_GB) Windows 10 64-Bit
OS Build number: Windows 10 Home 1909 (18363)
Memory Usage: 247 MB / 989 MB (162 MB allocated, but free)
Java version: 1.8.0_261-b12, Oracle Corporation, Java HotSpot(TM) Client VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 3440x1440 (scaling 1.0x1.0), \Display1 1920x1080 (scaling 1.0x1.0)
Maximum Screen Size: 3440x1440
Best cursor sizes: 16x16 -> 32x32, 32x32 -> 32x32

Plugins:
+ BuildingGeneralization (23)
+ CustomizePublicTransportStop (35248)
+ DirectUpload (35499)
+ Mapillary
+ OpeningHoursEditor (35414)
+ apache-commons (35362)
+ apache-http (35092)
+ areaselector (359)
+ austriaaddresshelper (57)
+ buildings_tools (35500)
+ ejml (35313)
+ imagery_offset_db (35405)
+ jna (35092)
+ log4j (35092)
+ public_transport (35405)
+ tageditor (35258)
+ turnrestrictions (35515)
+ utilsplugin2 (35487)

Tagging presets:
+ D:\OneDrive\Open Streetmap\Campground Template.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- E: Error - <html>Plug-in Mapillary requires a plug-in which was not found. The missing plug-in is:<ul><li>javafx</li></ul></html>
- W: No plugin to download, operation canceled
- E: Handled by bug report queue: java.util.ConcurrentModificationException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (16) of main
java.util.ConcurrentModificationException
	at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
	at java.util.LinkedList$ListItr.next(Unknown Source)
	at org.openstreetmap.josm.plugins.PluginListParser.addPluginInformation(PluginListParser.java:97)
	at org.openstreetmap.josm.plugins.PluginListParser.parse(PluginListParser.java:78)
	at org.openstreetmap.josm.plugins.ReadRemotePluginInformationTask.parsePluginListDocument(ReadRemotePluginInformationTask.java:300)
	at org.openstreetmap.josm.plugins.ReadRemotePluginInformationTask.realRun(ReadRemotePluginInformationTask.java:337)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

=== RUNNING THREADS ===
Thread: File Watcher (23) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.take(Unknown Source)
sun.nio.fs.AbstractWatchService.take(Unknown Source)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120)
org.openstreetmap.josm.io.FileWatcher$$Lambda$175/30018916.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: main (1) of main
java.lang.Object.hashCode(Native Method)
java.util.WeakHashMap.hash(Unknown Source)
java.util.WeakHashMap.put(Unknown Source)
java.util.zip.ZipFile.getInputStream(Unknown Source)
java.util.jar.JarFile.getInputStream(Unknown Source)
sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
sun.misc.Resource.cachedInputStream(Unknown Source)
sun.misc.Resource.getByteBuffer(Unknown Source)
java.net.URLClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.access$100(Unknown Source)
java.net.URLClassLoader$1.run(Unknown Source)
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
org.openstreetmap.josm.plugins.PluginClassLoader.loadClass(PluginClassLoader.java:73)
java.lang.ClassLoader.loadClass(Unknown Source)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
org.openstreetmap.josm.plugins.PluginInformation.loadClass(PluginInformation.java:384)
org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:801)
org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:890)
org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:933)
org.openstreetmap.josm.gui.MainApplication.loadLatePlugins(MainApplication.java:1146)
org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:918)
org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:276)
org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:713)

Thread: Timer-0 (48) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: ForkJoinPool.commonPool-worker-1 (34) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Java2D Disposer (10) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
sun.java2d.Disposer.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-Windows (13) of system
sun.awt.windows.WToolkit.eventLoop(Native Method)
sun.awt.windows.WToolkit.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Thread-5 (22) of main
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method)
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(Unknown Source)
sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-Shutdown (17) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
sun.awt.AWTAutoShutdown.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: JCS-ElementEventQueue-Thread-7 (43) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: ForkJoinPool.commonPool-worker-4 (37) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Keep-Alive-Timer (21) of system
java.lang.Thread.sleep(Native Method)
sun.net.www.http.KeepAliveCache.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: main-worker-0 (45) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: ForkJoinPool.commonPool-worker-3 (36) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Image Fetcher 0 (47) of main
java.lang.Object.wait(Native Method)
sun.awt.image.ImageFetcher.nextImage(Unknown Source)
sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
sun.awt.image.ImageFetcher.run(Unknown Source)

Thread: ForkJoinPool.commonPool-worker-2 (35) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.lang.ref.Reference.tryHandlePending(Unknown Source)
java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

Thread: Signal Dispatcher (4) of system

Thread: Weak reference cleaner (24) of main
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60)
org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$211/16476800.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: TimerQueue (18) of system
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.DelayQueue.take(Unknown Source)
javax.swing.TimerQueue.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-0 (16) of main
Stacktrace see above.

Thread: ForkJoinPool.commonPool-worker-6 (38) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

Thread: ForkJoinPool.commonPool-worker-7 (40) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: Attach Listener (5) of system
}}}
"	defect	closed	normal	20.08	Core		fixed	template_report	
