﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
4382	"JOSM hangs at ""Fetching a package of relations"" when doing ""Update selection"" for ~150k nodes"	avarab@…	team	" 1. Select ~150k nodes
 2. Do ""Update selection""
 3. JOSM seemingly updates all the nodes
 4. JOSM hangs with ""Fetching a package of relations"". Closing the dialog or pressing ""Cancel"" does nothing

Heres' kill -QUIT output:

{{{
2010-01-17 01:04:33
Full thread dump Java HotSpot(TM) Server VM (14.2-b01 mixed mode):

""Map Status Collector"" daemon prio=10 tid=0x6dcc9400 nid=0x5ae9 in Object.wait() [0x6e647000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x7b480710> (a org.openstreetmap.josm.gui.MapStatus$Collector)
	at java.lang.Object.wait(Object.java:485)
	at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:148)
	- locked <0x7b480710> (a org.openstreetmap.josm.gui.MapStatus$Collector)
	at java.lang.Thread.run(Thread.java:619)

""pool-1-thread-1"" prio=10 tid=0x09f0e400 nid=0x59a9 in Object.wait() [0x6e73a000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x80604250> (a java.awt.EventQueue$1AWTInvocationLock)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.invokeAndWait(EventQueue.java:992)
	- locked <0x80604250> (a java.awt.EventQueue$1AWTInvocationLock)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:86)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:123)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

""Timer-0"" daemon prio=10 tid=0x09df3c00 nid=0x599f in Object.wait() [0x6e35c000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x747105e0> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.util.TimerThread.mainLoop(Timer.java:483)
	- locked <0x747105e0> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

""OSMJobThread 1"" daemon prio=10 tid=0x6ea56c00 nid=0x599e waiting on condition [0x6e86f000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x746ce0d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at org.openstreetmap.gui.jmapviewer.JobDispatcher$JobThread.executeJobs(JobDispatcher.java:111)
	at org.openstreetmap.gui.jmapviewer.JobDispatcher$JobThread.run(JobDispatcher.java:98)

""DestroyJavaVM"" prio=10 tid=0x09929000 nid=0x5979 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

""TimerQueue"" daemon prio=10 tid=0x09b82000 nid=0x598d in Object.wait() [0x6e6e9000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x73b5d7a8> (a javax.swing.TimerQueue)
	at javax.swing.TimerQueue.run(TimerQueue.java:236)
	- locked <0x73b5d7a8> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Thread.java:619)

""AWT-EventQueue-0"" prio=10 tid=0x6ea73c00 nid=0x5988 runnable [0x6e8c0000]
   java.lang.Thread.State: RUNNABLE
	at java.util.ArrayList.indexOf(ArrayList.java:216)
	at java.util.ArrayList.contains(ArrayList.java:199)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:397)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact_child(QuadBuckets.java:410)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.find_exact(QuadBuckets.java:399)
	at org.openstreetmap.josm.data.osm.QuadBuckets.remove(QuadBuckets.java:789)
	at org.openstreetmap.josm.data.osm.DataSet.reindexNode(DataSet.java:789)
	at org.openstreetmap.josm.data.osm.DataSet.fireNodeMoved(DataSet.java:872)
	at org.openstreetmap.josm.data.osm.Node.setCoor(Node.java:26)
	at org.openstreetmap.josm.data.osm.Node.mergeFrom(Node.java:136)
	at org.openstreetmap.josm.data.osm.DataSetMerger.mergeById(DataSetMerger.java:325)
	at org.openstreetmap.josm.data.osm.DataSetMerger.mergePrimitive(DataSetMerger.java:82)
	at org.openstreetmap.josm.data.osm.DataSetMerger.merge(DataSetMerger.java:367)
	at org.openstreetmap.josm.gui.layer.OsmDataLayer.mergeFrom(OsmDataLayer.java:283)
	at org.openstreetmap.josm.gui.io.UpdatePrimitivesTask$1.run(UpdatePrimitivesTask.java:87)
	at org.openstreetmap.josm.gui.io.UpdatePrimitivesTask.finish(UpdatePrimitivesTask.java:93)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable$1.run(PleaseWaitRunnable.java:88)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
	at java.awt.Dialog$1.run(Dialog.java:1045)
	at java.awt.Dialog$3.run(Dialog.java:1097)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Dialog.java:1095)
	at java.awt.Component.show(Component.java:1563)
	at java.awt.Component.setVisible(Component.java:1515)
	at java.awt.Window.setVisible(Window.java:841)
	at java.awt.Dialog.setVisible(Dialog.java:985)
	at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:83)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

""AWT-Shutdown"" prio=10 tid=0x6ea73400 nid=0x5987 in Object.wait() [0x6e992000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x73a74ac8> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:485)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
	- locked <0x73a74ac8> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

""AWT-XAWT"" daemon prio=10 tid=0x6ea45400 nid=0x5985 runnable [0x6e9e3000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.X11.XToolkit.waitForEvents(Native Method)
	at sun.awt.X11.XToolkit.run(XToolkit.java:548)
	at sun.awt.X11.XToolkit.run(XToolkit.java:523)
	at java.lang.Thread.run(Thread.java:619)

""Java2D Disposer"" daemon prio=10 tid=0x6ea04400 nid=0x5984 in Object.wait() [0x6eb6c000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x73a49c30> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x73a49c30> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at sun.java2d.Disposer.run(Disposer.java:125)
	at java.lang.Thread.run(Thread.java:619)

""Low Memory Detector"" daemon prio=10 tid=0x099c4400 nid=0x5982 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

""CompilerThread1"" daemon prio=10 tid=0x099c2800 nid=0x5981 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

""CompilerThread0"" daemon prio=10 tid=0x099bf800 nid=0x5980 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

""Signal Dispatcher"" daemon prio=10 tid=0x099be000 nid=0x597f waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

""Finalizer"" daemon prio=10 tid=0x099adc00 nid=0x597e in Object.wait() [0x6f178000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x73a36f68> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x73a36f68> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

""Reference Handler"" daemon prio=10 tid=0x099a9400 nid=0x597d in Object.wait() [0x6f1c9000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x73a50e38> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x73a50e38> (a java.lang.ref.Reference$Lock)

""VM Thread"" prio=10 tid=0x099a5400 nid=0x597c runnable 

""GC task thread#0 (ParallelGC)"" prio=10 tid=0x0992fc00 nid=0x597a runnable 

""GC task thread#1 (ParallelGC)"" prio=10 tid=0x09931000 nid=0x597b runnable 

""VM Periodic Task Thread"" prio=10 tid=0x099c6400 nid=0x5983 waiting on condition 

JNI global references: 5587

Heap
 PSYoungGen      total 46848K, used 35984K [0xac760000, 0xb2770000, 0xb3920000)
  eden space 41600K, 73% used [0xac760000,0xae564230,0xaf000000)
  from space 5248K, 100% used [0xaf000000,0xaf520000,0xaf520000)
  to   space 28160K, 0% used [0xb0bf0000,0xb0bf0000,0xb2770000)
 PSOldGen        total 260544K, used 218593K [0x73920000, 0x83790000, 0xac760000)
  object space 260544K, 83% used [0x73920000,0x80e98718,0x83790000)
 PSPermGen       total 25088K, used 21124K [0x6f920000, 0x711a0000, 0x73920000)
  object space 25088K, 84% used [0x6f920000,0x70dc1018,0x711a0000)
}}}"	defect	closed	major		Core	latest	fixed	quadbuckets	
