Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] deadlock "fixed" .. release?

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
>

Back to the top