Modify

Opened 4 years ago

Closed 4 years ago

#12245 closed defect (fixed)

JOSM stalls when loading child relations

Reported by: lapinos03@… Owned by: team
Priority: major Milestone: 15.12
Component: Core Version: tested
Keywords: loading, relation, relations, child, children regression Cc:

Description

Hi there !

My JOSM stalls when I try to download the child relations in a relation (Edit relation dialog box). Tested with v9060 and v9181 today (2015/12/28) and yesterday (java8 update66).
After clicking the "Download all children" button, the popup appears showing the progressing bar and stays forever.
IMPOSSIBLE to cancel (button)
IMPOSSIBLE to close that popup
IMPOSSIBLE to quit the app.

Console trace for this action :
INFO: GET https://api.openstreetmap.org/api/0.6/relation/2193140/relations -> 200
INFO: GET https://api.openstreetmap.org/api/0.6/relation/2193140/full -> 200

Regards.

Attachments (2)

cannot-reproduce.gif (451.2 KB) - added by simon04 4 years ago.
uistuck.png (198.5 KB) - added by Don-vip 4 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 4 years ago by Don-vip

Cc: simon04 added
Milestone: 15.12

Changed 4 years ago by simon04

Attachment: cannot-reproduce.gif added

comment:2 Changed 4 years ago by simon04

Owner: changed from team to lapinos03@…
Status: newneedinfo

I cannot reproduce, see attachment:cannot-reproduce.gif

Please add a status report (as requested per newticket) and detailed steps to reproduce.

comment:3 Changed 4 years ago by Don-vip

Owner: changed from lapinos03@… to team
Status: needinfonew

I'm able to reproduce with:

Build-Date:2015-12-28 13:56:37
Revision:9193
Is-Local-Build:true

Identification: JOSM/1.5 (9193 SVN en) Windows 7 64-Bit
Memory Usage: 452 MB / 2708 MB (364 MB allocated, but free)
Java version: 1.8.0_66, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Dfile.encoding=UTF-8]

Plugins:
- ImportImagePlugin (31772)
- apache-commons (31772)
- ejml (31772)
- geotools (31774)
- imagery-xml-bounds (31772)
- jts (31772)
- log4j (31879)
- opendata (31772)
- utilsplugin2 (31772)
  1. Start JOSM
  2. Ctrl-Shift-O, relation, 2193140, download referrers + download relation members
  3. Right click relation in selection dialog, Edit
  4. Click on Child Relation tab
  5. Click on Download All Children button
INFO: Enabled EDT checker, wrongful access to gui from non EDT thread will be printed to console
INFO: GET https://api.openstreetmap.org/api/0.6/relations?relations=2193140 -> 200
INFO: GET https://api.openstreetmap.org/api/0.6/relation/2193140/full -> 200
INFO: GET https://api.openstreetmap.org/api/0.6/relation/2193140/relations -> 200 (0KB)
INFO: GET https://api.openstreetmap.org/api/0.6/relation/2193140/full -> 200

The UI is stuck as follows:


Last edited 4 years ago by Don-vip (previous) (diff)

Changed 4 years ago by Don-vip

Attachment: uistuck.png added

comment:4 Changed 4 years ago by Don-vip

Here's a thread dump obtained with Visual VM:

2015-12-28 14:10:43
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.66-b17 mixed mode):

"RMI TCP Connection(idle)" #65 daemon prio=5 os_prio=0 tid=0x000000001e8d9800 nid=0x734 waiting on condition [0x0000000027b0f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000703f40f18> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"JMX server connection timeout 64" #64 daemon prio=5 os_prio=0 tid=0x0000000020a39000 nid=0x1bb0 in Object.wait() [0x000000002a66f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
	- locked <0x0000000781870208> (a [I)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"RMI Scheduler(0)" #63 daemon prio=5 os_prio=0 tid=0x000000001e8d9000 nid=0x25a0 waiting on condition [0x000000002a54e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000703f4baf0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"RMI TCP Connection(1)-192.168.42.1" #62 daemon prio=5 os_prio=0 tid=0x0000000020a38000 nid=0x10c4 runnable [0x000000001f5ce000]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
	at java.net.SocketInputStream.read(SocketInputStream.java:170)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
	- locked <0x000000078183d920> (a java.io.BufferedInputStream)
	at java.io.FilterInputStream.read(FilterInputStream.java:83)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(TCPTransport.java:683)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$32/1694026341.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- <0x00000007817401b0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" #61 daemon prio=5 os_prio=0 tid=0x0000000022e10800 nid=0x149c runnable [0x000000001cfdf000]
   java.lang.Thread.State: RUNNABLE
	at java.net.DualStackPlainSocketImpl.accept0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
	- locked <0x0000000705a89cc8> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
	at java.net.ServerSocket.accept(ServerSocket.java:513)
	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"styled-map-renderer-3" #59 prio=5 os_prio=0 tid=0x000000001e8d8000 nid=0x1c78 waiting on condition [0x000000002a43e000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000702a19598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"styled-map-renderer-2" #58 prio=5 os_prio=0 tid=0x000000001e8d7800 nid=0x1e20 waiting on condition [0x0000000029f1e000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000702a19598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"styled-map-renderer-1" #57 prio=5 os_prio=0 tid=0x000000001e8d6800 nid=0x9a8 waiting on condition [0x0000000029c7e000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000702a19598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"styled-map-renderer-0" #56 prio=5 os_prio=0 tid=0x0000000022e13000 nid=0x2268 waiting on condition [0x0000000029def000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000702a19598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"Map Status Collector" #55 daemon prio=6 os_prio=0 tid=0x0000000022e12000 nid=0x16f4 waiting on condition [0x0000000027d7f000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000705a8af58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:377)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"Timer-2" #53 daemon prio=6 os_prio=0 tid=0x0000000022e11800 nid=0x2760 in Object.wait() [0x0000000027c4f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000705a8b198> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:502)
	at java.util.TimerThread.mainLoop(Timer.java:526)
	- locked <0x0000000705a8b198> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

"Timer-1" #50 prio=6 os_prio=0 tid=0x0000000022e10000 nid=0x710 in Object.wait() [0x0000000025fde000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000705a8b570> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:502)
	at java.util.TimerThread.mainLoop(Timer.java:526)
	- locked <0x0000000705a8b570> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

"class org.openstreetmap.josm.io.MultiFetchServerObjectReader-0" #45 prio=5 os_prio=0 tid=0x0000000022e0d800 nid=0x1ef4 waiting on condition [0x0000000025ddf000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000705a8bab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"main-worker-0" #44 prio=5 os_prio=0 tid=0x0000000020a39800 nid=0x1d14 in Object.wait() [0x0000000021a8e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000706b048a8> (a java.awt.EventQueue$1AWTInvocationLock)
	at java.lang.Object.wait(Object.java:502)
	at java.awt.EventQueue.invokeAndWait(EventQueue.java:1313)
	- locked <0x0000000706b048a8> (a java.awt.EventQueue$1AWTInvocationLock)
	at java.awt.EventQueue.invokeAndWait(EventQueue.java:1294)
	at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWait(GuiHelper.java:109)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.dataChanged(MemberTableModel.java:108)
	at org.openstreetmap.josm.data.osm.event.DataChangedEvent.fire(DataChangedEvent.java:26)
	at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1183)
	at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:1165)
	at org.openstreetmap.josm.data.osm.DataSetMerger.merge(DataSetMerger.java:434)
	at org.openstreetmap.josm.data.osm.DataSetMerger.merge(DataSetMerger.java:390)
	at org.openstreetmap.josm.gui.dialogs.relation.ChildRelationBrowser$DownloadAllChildrenTask.mergeDataSet(ChildRelationBrowser.java:389)
	at org.openstreetmap.josm.gui.dialogs.relation.ChildRelationBrowser$DownloadAllChildrenTask.realRun(ChildRelationBrowser.java:420)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:93)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:161)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- <0x0000000705a8c130> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"DestroyJavaVM" #43 prio=5 os_prio=0 tid=0x0000000022e0d000 nid=0x1ca8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"RemoteControl HTTP Server" #42 daemon prio=5 os_prio=0 tid=0x0000000022e0c000 nid=0x20f8 runnable [0x00000000279cf000]
   java.lang.Thread.State: RUNNABLE
	at java.net.DualStackPlainSocketImpl.accept0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
	- locked <0x0000000705a8c820> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
	at java.net.ServerSocket.accept(ServerSocket.java:513)
	at org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:101)

   Locked ownable synchronizers:
	- None

"RemoteControl HTTP Server" #41 daemon prio=5 os_prio=0 tid=0x0000000020a3c000 nid=0x1868 runnable [0x000000002630f000]
   java.lang.Thread.State: RUNNABLE
	at java.net.DualStackPlainSocketImpl.accept0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
	- locked <0x0000000705a8cc80> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
	at java.net.ServerSocket.accept(ServerSocket.java:513)
	at org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:101)

   Locked ownable synchronizers:
	- None

"Timer-0" #39 daemon prio=6 os_prio=0 tid=0x0000000020a3a800 nid=0xd48 waiting on condition [0x000000002788e000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000705a8d258> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
	at org.openstreetmap.josm.io.OsmExporter.doSave(OsmExporter.java:133)
	at org.openstreetmap.josm.io.OsmExporter.save(OsmExporter.java:92)
	at org.openstreetmap.josm.io.OsmExporter.exportData(OsmExporter.java:67)
	at org.openstreetmap.josm.data.AutosaveTask.savelayer(AutosaveTask.java:191)
	at org.openstreetmap.josm.data.AutosaveTask.run(AutosaveTask.java:212)
	- locked <0x0000000705a8d840> (a java.lang.Object)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

"WeakCollectionCleaner" #33 daemon prio=8 os_prio=1 tid=0x0000000020a36800 nid=0x1438 in Object.wait() [0x000000002677e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000705a8ea50> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x0000000705a8ea50> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:77)

   Locked ownable synchronizers:
	- None

"GT authority factory disposer" #31 daemon prio=5 os_prio=0 tid=0x0000000020a35000 nid=0x2320 in Object.wait() [0x000000002348e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000705a8ece8> (a java.util.TaskQueue)
	at java.util.TimerThread.mainLoop(Timer.java:552)
	- locked <0x0000000705a8ece8> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

"TimerQueue" #21 daemon prio=5 os_prio=0 tid=0x000000001e2dd000 nid=0x2138 runnable [0x000000001f27e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000007021b3e50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:223)
	at javax.swing.TimerQueue.run(TimerQueue.java:171)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- <0x00000007024331b0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"AWT-EventQueue-0" #19 prio=6 os_prio=0 tid=0x000000001c65e800 nid=0x1d68 waiting on condition [0x000000001dcbb000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x0000000705a8d258> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
	at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
	at org.openstreetmap.josm.data.osm.DataSet.beginUpdate(DataSet.java:1142)
	at org.openstreetmap.josm.gui.dialogs.FilterTableModel.executeFilters(FilterTableModel.java:82)
	at org.openstreetmap.josm.gui.dialogs.FilterDialog.dataChanged(FilterDialog.java:326)
	at org.openstreetmap.josm.data.osm.event.DataChangedEvent.fire(DataChangedEvent.java:26)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager.fireConsolidatedEvents(DatasetEventManager.java:193)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager.access$3(DatasetEventManager.java:190)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager$EdtRunnable.run(DatasetEventManager.java:86)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1673)
	at java.awt.Component.setVisible(Component.java:1625)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:193)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	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)

   Locked ownable synchronizers:
	- None

"AWT-Shutdown" #18 prio=6 os_prio=0 tid=0x000000001c61b000 nid=0x1728 in Object.wait() [0x000000001db6f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000702185890> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:502)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
	- locked <0x0000000702185890> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"AWT-Windows" #14 daemon prio=6 os_prio=0 tid=0x000000001c241800 nid=0x198c runnable [0x000000001cebf000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.windows.WToolkit.eventLoop(Native Method)
	at sun.awt.windows.WToolkit.run(WToolkit.java:306)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"Java2D Disposer" #12 daemon prio=10 os_prio=2 tid=0x000000001c240000 nid=0x25e0 in Object.wait() [0x000000001cb1f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000701bdccd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x0000000701bdccd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at sun.java2d.Disposer.run(Disposer.java:148)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"File Watcher" #11 prio=5 os_prio=0 tid=0x000000001b7be000 nid=0x1cbc waiting on condition [0x000000001c1cf000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000007021b43b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
	at java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
	at sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)
	at org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:109)
	at org.openstreetmap.josm.io.FileWatcher.access$0(FileWatcher.java:100)
	at org.openstreetmap.josm.io.FileWatcher$1.run(FileWatcher.java:46)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"Thread-0" #10 daemon prio=5 os_prio=0 tid=0x000000001b78d000 nid=0x20f4 runnable [0x000000001bfee000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method)
	at sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(WindowsNativeDispatcher.java:996)
	at sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:524)
	at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
	- None

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x000000001b444800 nid=0x18e4 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000019abf800 nid=0x1c28 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000019abd800 nid=0x2474 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000019ab8000 nid=0x2670 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000019ab4800 nid=0x2564 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000019ab3000 nid=0x2444 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000019a57800 nid=0x1aac in Object.wait() [0x000000001aefe000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000007021b5650> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x00000007021b5650> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

   Locked ownable synchronizers:
	- None

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000019a50800 nid=0x1074 in Object.wait() [0x000000001adff000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000007021b5868> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:502)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
	- locked <0x00000007021b5868> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
	- None

"VM Thread" os_prio=2 tid=0x0000000019a4a800 nid=0x1fac runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000021dd000 nid=0x1ec8 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000021de800 nid=0x5c8 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000021e0000 nid=0xba4 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000021e1800 nid=0x23c8 runnable 

"VM Periodic Task Thread" os_prio=2 tid=0x000000001b464000 nid=0x1ce0 waiting on condition 

JNI global references: 5271

comment:5 Changed 4 years ago by Don-vip

Cc: simon04 removed
Keywords: regression added

Looks like a regression of r9020

comment:6 Changed 4 years ago by Don-vip

If I revert the change it solves the issue but triggers the following EDT violation I wanted to fix:

EDT violation detected
org.openstreetmap.josm.gui.dialogs.relation.MemberTable[,0,0,334x256,alignmentX=0.0,alignmentY=0.0,border=,flags=251658728,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=false,autoResizeMode=AUTO_RESIZE_ALL_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=128,g=128,b=128],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=51,g=153,b=255],selectionForeground=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],showHorizontalLines=true,showVerticalLines=true]
	at java.lang.Thread.getStackTrace(Thread.java:1552)
	at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.checkThreadViolations(CheckThreadViolationRepaintManager.java:81)
	at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.addDirtyRegion(CheckThreadViolationRepaintManager.java:72)
	at javax.swing.JComponent.repaint(JComponent.java:4793)
	at java.awt.Component.repaint(Component.java:3313)
	at javax.swing.JTable.resizeAndRepaint(JTable.java:5597)
	at javax.swing.JTable.tableChanged(JTable.java:4446)
	at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
	at javax.swing.table.AbstractTableModel.fireTableDataChanged(AbstractTableModel.java:198)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.dataChanged(MemberTableModel.java:107)
	at org.openstreetmap.josm.data.osm.event.DataChangedEvent.fire(DataChangedEvent.java:26)
	at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1183)
	at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:1165)
	at org.openstreetmap.josm.data.osm.DataSetMerger.merge(DataSetMerger.java:434)
	at org.openstreetmap.josm.data.osm.DataSetMerger.merge(DataSetMerger.java:390)
	at org.openstreetmap.josm.gui.dialogs.relation.ChildRelationBrowser$DownloadAllChildrenTask.mergeDataSet(ChildRelationBrowser.java:389)
	at org.openstreetmap.josm.gui.dialogs.relation.ChildRelationBrowser$DownloadAllChildrenTask.realRun(ChildRelationBrowser.java:420)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:93)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:161)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

comment:7 Changed 4 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 9195/josm:

fix #12245 - fix EDT violation properly without hanging the UI (regression from r9020)

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.