Modify

Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#14186 closed defect (fixed)

[Patch] ConcurrentModificationException in QuadBucketIterator after conflict resolution

Reported by: anonymous Owned by: team
Priority: major Milestone: 17.01
Component: Core Version:
Keywords: template_report conflict regression Cc: michael2402, GerdP

Description (last modified by Don-vip)

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-12-31 17:39:03 +0100 (Sat, 31 Dec 2016)
Build-Date:2017-01-01 02:33:05
Revision:11425
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11425 en) Windows 7 32-Bit
Memory Usage: 247 MB / 247 MB (61 MB allocated, but free)
Java version: 1.8.0_111-b14, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1920x1200
Maximum Screen Size: 1920x1200
Dataset consistency test: No problems found

Plugins:
+ BuildingGeneralization (1010)
+ CustomizePublicTransportStop (0.3)
+ RoadSigns (33088)
+ alignways (33088)
+ apache-commons (32994)
+ buildings_tools (33004)
+ contourmerge (1030)
+ geochat (33088)
+ measurement (33088)
+ merge-overlap (33004)
+ osm-obj-info (1468276210)
+ pdfimport (33004)
+ photo_geotagging (33088)
+ tag2link (33035)
+ utilsplugin2 (33088)
+ wikipedia (33098)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/AdvertisingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Animal_facilities&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/CampingForOverlanders&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MountainbikeTrails&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BicycleJunction&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Camp_site_extends&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Communication_Towers&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/SentieriItaliani&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewParkingFeatures&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Mountains&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/Presets_Traffic_signs.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/AddressValidator&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AdvertisingStyle&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Ph_Typhoon&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SlovakiaBicycleRoutes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Suburb&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- https://www.dropbox.com/s/qo3ai47fpv241jf/Styles_Fixme_and_Notes.zip?raw=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Fixme&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
- http://kolesar.turistautak.hu/osm/opencellid/api/styles/measurements.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Mountains&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Schools&zip=1

Last errors/warnings:
- E: Error header: Precondition failed: Node 4584423017 is still used by ways 463132426.
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=412, Error Header=<Precondition failed: Node 4584423017 is still used by ways 463132426.>
- E: Object still in use - <html><strong>Failed</strong> to delete <strong>node 4584423017</strong>. It is still referred to by way 463132426.<br>Please load the way, remove the reference to the node, and upload again.<br><br>Click <strong>Prepare conflict resolution</strong> to load them now.<br>If necessary JOSM will create conflicts which you can resolve in the Conflict Resolution Dialog.</html>
- E: Error header: Precondition failed: Node 4584423018 is still used by ways 463132427.
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=412, Error Header=<Precondition failed: Node 4584423018 is still used by ways 463132427.>
- E: Object still in use - <html><strong>Failed</strong> to delete <strong>node 4584423018</strong>. It is still referred to by way 463132427.<br>Please load the way, remove the reference to the node, and upload again.<br><br>Click <strong>Prepare conflict resolution</strong> to load them now.<br>If necessary JOSM will create conflicts which you can resolve in the Conflict Resolution Dialog.</html>
- E: Error header: Precondition failed: Node 4584423016 is still used by ways 463132428.
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=412, Error Header=<Precondition failed: Node 4584423016 is still used by ways 463132428.>
- E: Object still in use - <html><strong>Failed</strong> to delete <strong>node 4584423016</strong>. It is still referred to by way 463132428.<br>Please load the way, remove the reference to the node, and upload again.<br><br>Click <strong>Prepare conflict resolution</strong> to load them now.<br>If necessary JOSM will create conflicts which you can resolve in the Conflict Resolution Dialog.</html>
- 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 (18) of main
java.util.ConcurrentModificationException
	at java.util.LinkedHashMap$LinkedHashIterator.nextNode(Unknown Source)
	at java.util.LinkedHashMap$LinkedKeyIterator.next(Unknown Source)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QuadBucketIterator.next(QuadBuckets.java:530)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QuadBucketIterator.next(QuadBuckets.java:475)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays(DataSet.java:980)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkReferencesToPrimitive(DataSet.java:1042)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.deleteMy(DeletedStateConflictResolveCommand.java:76)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.executeCommand(DeletedStateConflictResolveCommand.java:59)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:54)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:54)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:52)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:85)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$ResolveToAction.actionPerformed(ConflictDialog.java:505)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

=== RUNNING THREADS ===
Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (235) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-4 (65) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: Timer-2 (575) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: TMS-downloader-19 (80) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (633) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: Thread-10 (53) of main
java.lang.Thread.sleep(Native Method)
geochat.ChatServerConnection$LogRequest.run(ChatServerConnection.java:333)
java.lang.Thread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (330) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-22 (83) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: TMS-downloader-8 (69) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: Timer-1 (50) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (596) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (570) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (510) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (266) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: RemoteControl HTTP Server (33) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (451) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (331) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (403) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-23 (84) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (333) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: main-worker-0 (49) 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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (585) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (373) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (511) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (244) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-24 (85) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (346) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-17 (78) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: Map Status Collector (52) 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)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:399)
java.lang.Thread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (708) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-20 (81) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: TMS-downloader-5 (66) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: TMS-downloader-10 (71) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (241) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (631) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (667) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-7 (68) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: styled-map-renderer-171 (731) 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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (712) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (601) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (220) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (437) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (598) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (365) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-15 (76) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: 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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (247) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: Java2D Disposer (11) 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: Swing-Shell (43) of system
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)
sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
java.lang.Thread.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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (130) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (162) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (439) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (484) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (673) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-16 (77) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (114) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (509) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (686) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-1 (62) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (106) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (432) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-14 (75) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: Thread-1 (9) 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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (239) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (142) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-12 (73) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (88) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (629) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (345) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (351) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-9 (70) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (133) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (665) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-18 (79) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: D3D Screen Updater (22) of system
java.lang.Object.wait(Native Method)
sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (344) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (438) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: image-fetcher-0 (26) 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: TMS-downloader-21 (82) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: DestroyJavaVM (38) of main

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (190) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TimerQueue (20) 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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (436) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (366) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (360) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: message-notifier-0 (37) of main
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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.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: TMS-downloader-6 (67) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: RemoteControl HTTP Server (34) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (602) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (367) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-13 (74) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: Signal Dispatcher (4) of system

Thread: TMS-downloader-11 (72) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: TMS-downloader-2 (63) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (666) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (630) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: Timer-0 (39) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (595) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (494) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: File Watcher (10) 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:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$4/10595156.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (600) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (98) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (343) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (668) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-3 (64) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (504) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (332) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: TMS-downloader-0 (61) 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)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:90)
org.openstreetmap.josm.data.cache.HostLimitQueue.take(HostLimitQueue.java:29)
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: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (458) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (492) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: AWT-EventQueue-0 (18) of main
Stacktrace see above.

Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2 (136) of main
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.LinkedBlockingQueue.poll(Unknown Source)
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:209)

Thread: Attach Listener (5) of system

Attachments (1)

14186.patch (3.1 KB) - added by GerdP 2 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 2 years ago by skyper

What did you do just before the crash ? Uploading data with deleted objects ?

I only found an old but similar open ticket #6524.

comment:2 Changed 2 years ago by Don-vip

Description: modified (diff)
Keywords: conflict added
Milestone: 17.01
Priority: normalmajor
Summary: Automatic Report BugConcurrentModificationException in QuadBucketIterator after conflict resolution

comment:3 Changed 2 years ago by Don-vip

Cc: michael2402 GerdP added
Keywords: regression added

looks like a regression from r11269 / #13361

comment:4 Changed 2 years ago by GerdP

Yes, I guess this can happen if unlinkNodeFromWays() is called for a way with an invalid bbox.
Not sure how exeactly that worked with the old code, but I think Dataset.reindexWay() must not
be called while iterating through Datset.ways.

comment:5 Changed 2 years ago by anonymous

I don't understand why unlinkNodeFromWays() iterates through the index instead of checking Node.getReferrers().
If that would lead to other problems I suggest to change line 980 in Dataset from

for (Way way: ways) {

to

for (Way way: getWays()) {

comment:6 Changed 2 years ago by GerdP

Sorry, comment5 was from me. Trac often forgets my name, not sure why.

Changed 2 years ago by GerdP

Attachment: 14186.patch added

comment:7 Changed 2 years ago by GerdP

Summary: ConcurrentModificationException in QuadBucketIterator after conflict resolution[Patch] ConcurrentModificationException in QuadBucketIterator after conflict resolution

comment:8 Changed 2 years ago by GerdP

I've attached a patch with a unit test that reproduces the error and the fix in DataSet using Node.getRefs().
I've also verified that the simple change suggested in comment 5 works.

I think the iterator in QuadBuckets should be changed to ALWAYS throw a ConcurrentModificationException when the index is changed
while iterating, not only when an element with an invalid bbox is removed.

comment:9 Changed 2 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 11440/josm:

fix #14186 - ConcurrentModificationException in QuadBucketIterator after conflict resolution (patch by GerdP, modified)

comment:10 Changed 2 years ago by Don-vip

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