Hi Andrea, [...] > Hum... out of curiosity, did anybody try to run jstack against the > deadlocked uDig and see what got stuck? > Might be some useful indication
Thanks, I didn't know jstack. And it loocks like it might help... I tried again to make some editing on the 10m_admin_0_countries and after very short time it froze again (like 30 seconds of editing). Jody, are you trying that file to check the locking, I do not understand why you do not experience locks? This uDig right now doesn't even show the node handles when I select with the editing tool. Anyways, I ran jstack on the frozen thing and got the following out. Looks like there is a ton of locked stuff? Anyone from the editing part able to spot something? Below the trace. Ciao, Andrea --------------------------------------------------------------------------------- 2013-02-17 15:55:29 Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode): "Thread-10" daemon prio=6 tid=0x000000002f21f800 nid=0x28 runnable [0x00000000327af000] java.lang.Thread.State: RUNNABLE at sun.awt.windows.WToolkit.shutdown(Native Method) at sun.awt.windows.WToolkit.access$200(WToolkit.java:70) at sun.awt.windows.WToolkit$3.run(WToolkit.java:280) at java.lang.Thread.run(Thread.java:619) "[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x000000002e681000 nid=0xda8 in Object.wait() [0x0000000037c9f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106) - locked <0x000000001c33f338> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor) "Timer-1" prio=6 tid=0x000000002f221000 nid=0x12ec in Object.wait() [0x0000000037b9f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x00000000189a3058> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "Timer-0" prio=6 tid=0x000000002f21d000 nid=0x1b5c in Object.wait() [0x000000003649f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x0000000018384ec0> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "Worker-7" prio=6 tid=0x000000002f21e800 nid=0x1368 in Object.wait() [0x000000003639f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Worker-6" prio=6 tid=0x000000002f21b000 nid=0xec8 in Object.wait() [0x000000003629f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Worker-5" prio=6 tid=0x000000002f21e000 nid=0x87c in Object.wait() [0x000000003619f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Worker-4" prio=6 tid=0x000000002f21c800 nid=0x1600 in Object.wait() [0x000000003609f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Java2D Disposer" daemon prio=10 tid=0x000000002f66d800 nid=0x1ad8 in Object.wait() [0x0000000035aef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x000000001735ee88> (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) "Worker-3" prio=6 tid=0x000000002f672800 nid=0x1868 in Object.wait() [0x0000000035bef000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Reference Cleaner: 1" prio=6 tid=0x000000002f673800 nid=0x40c in Object.wait() [0x00000000359bf000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x000000001735e290> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) *at net.refractions.udig.ui.ImageCache$ReferenceCleanerThread.run(ImageCache.java:428) * "pool-3-thread-1" prio=6 tid=0x000000002f66c000 nid=0x10f8 waiting on condition [0x00000000357af000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000161f0558> (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 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) "Worker-2" prio=6 tid=0x000000002f66f800 nid=0x17a0 in Object.wait() [0x000000003240f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "Worker-1" prio=6 tid=0x000000002f66f000 nid=0x1b40 in Object.wait() [0x00000000352ef000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "pool-1-thread-1" prio=6 tid=0x000000002f671000 nid=0x7bc waiting on condition [0x000000003516f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000166bd8f0> (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 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) "Worker-0" prio=6 tid=0x000000002fbea000 nid=0x1b94 in Object.wait() [0x000000003400f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188) - locked <0x0000000015406020> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50) "WeakCollectionCleaner" daemon prio=8 tid=0x000000002e857800 nid=0x170c in Object.wait() [0x000000003130f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x0000000015735a48> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) *at org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:77)* "GT authority factory disposer" daemon prio=6 tid=0x000000002f82a800 nid=0x198 in Object.wait() [0x000000003120f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0x0000000015735d00> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "Bundle File Closer" daemon prio=6 tid=0x000000002f977800 nid=0x13c4 in Object.wait() [0x0000000030eef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400) - locked <0x0000000015686ed0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336) "Worker-JM" prio=6 tid=0x000000002f06e000 nid=0x674 in Object.wait() [0x0000000030def000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000153fc0b8> (a java.util.ArrayList) at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58) - locked <0x00000000153fc0b8> (a java.util.ArrayList) "[Timer] - Main Queue Handler" daemon prio=6 tid=0x000000002e66d000 nid=0x1a1c in Object.wait() [0x0000000030cef000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141) - locked <0x00000000153fc1f0> (a java.lang.Object) at java.lang.Thread.run(Thread.java:619) "Framework Event Dispatcher" daemon prio=6 tid=0x000000002f7d2000 nid=0x1480 in Object.wait() [0x0000000030aef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400) - locked <0x00000000155671c8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336) "Start Level Event Dispatcher" daemon prio=6 tid=0x000000002e861800 nid=0x38 in Object.wait() [0x00000000309ef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000153a9c90> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at java.lang.Object.wait(Object.java:485) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400) - locked <0x00000000153a9c90> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336) "State Data Manager" daemon prio=6 tid=0x000000002f9a6800 nid=0x122c waiting on condition [0x00000000308ef000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297) at java.lang.Thread.run(Thread.java:619) "Framework Active Thread" prio=6 tid=0x000000002dcb4000 nid=0x16d0 in Object.wait() [0x00000000307ef000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1817) - locked <0x000000001531c458> (a org.eclipse.osgi.framework.internal.core.Framework) at java.lang.Thread.run(Thread.java:619) "Low Memory Detector" daemon prio=6 tid=0x000000002db69000 nid=0x1898 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "CompilerThread1" daemon prio=10 tid=0x000000002db61800 nid=0x1380 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0x000000002db5d000 nid=0x1a6c waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Attach Listener" daemon prio=10 tid=0x000000002db5c000 nid=0x142c waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x000000002db5b000 nid=0x8f4 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=0x000000000219e800 nid=0x620 in Object.wait() [0x000000002dfbf000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x0000000015330720> (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=0x000000002db23000 nid=0x16c8 in Object.wait() [0x000000002debf000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x0000000015351840> (a java.lang.ref.Reference$Lock) "main" prio=6 tid=0x000000000062c000 nid=0xa4c in Object.wait() [0x000000000209f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Thread.join(Thread.java:1143) - locked <0x00000000168644a8> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1196) at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:79) at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:24) at java.lang.Shutdown.runHooks(Shutdown.java:79) at java.lang.Shutdown.sequence(Shutdown.java:123) at java.lang.Shutdown.exit(Shutdown.java:168) - locked <0x0000000005726070> (a java.lang.Class for java.lang.Shutdown) at java.lang.Runtime.exit(Runtime.java:90) at java.lang.System.exit(System.java:904) at org.eclipse.equinox.launcher.Main.main(Main.java:1394) "VM Thread" prio=10 tid=0x0000000002195000 nid=0x12ac runnable "GC task thread#0 (ParallelGC)" prio=6 tid=0x00000000020a9000 nid=0x160 runnable "GC task thread#1 (ParallelGC)" prio=6 tid=0x00000000020aa800 nid=0x264 runnable "GC task thread#2 (ParallelGC)" prio=6 tid=0x00000000020ac000 nid=0xb28 runnable "GC task thread#3 (ParallelGC)" prio=6 tid=0x00000000020ae000 nid=0x1830 runnable "VM Periodic Task Thread" prio=10 tid=0x000000002db6a800 nid=0x19d4 waiting on condition JNI global references: 1554 > > Cheers > Andrea > > -- > == > Our support, Your Success! Visit http://opensdi.geo-solutions.it for more > information. > == > > Ing. Andrea Aime > @geowolf > Technical Lead > > GeoSolutions S.A.S. > Via Poggio alle Viti 1187 > 55054 Massarosa (LU) > Italy > phone: +39 0584 962313 > fax: +39 0584 1660272 > mob: +39 339 8844549 > > http://www.geo-solutions.it > http://twitter.com/geosolutions_it > > ------------------------------------------------------- > > _______________________________________________ > User-friendly Desktop Internet GIS (uDig) > http://udig.refractions.net > http://lists.refractions.net/mailman/listinfo/udig-devel >
_______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
