gvSIG bugs #4234

Updated by JoaquĆ­n del Cerro Murciano almost 8 years ago

In my application I am editing layers programmatically, basically removing all, and the adding features to a store.

While doing so sometimes I get a gvSIG freeze which forces me to kill the application.
After triplechecking my code I tried to run jvisualVM on the frozen gvSIG and it detected a deadlock, which I find frightening.

I paste here the thread dump in the hope that someone can identify the problem that seems to come from the editing framework:

<pre>


2016-06-17 14:26:09
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode):

"RMI TCP Connection(2)-127.0.0.1" #50 daemon prio=9 os_prio=0 tid=0x00007f9b6402f800 nid=0x1dad runnable [0x00007f9b230b6000]
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 <0x00000006e5c04ad0> (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$79(TCPTransport.java:683)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$40/2023055977.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:
- <0x00000006e5046be0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"JMX server connection timeout 49" #49 daemon prio=9 os_prio=0 tid=0x00007f9b1000c000 nid=0x1daa in Object.wait() [0x00007f9b231b8000]
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 <0x00000006e53a0a28> (a [I)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"RMI Scheduler(0)" #48 daemon prio=9 os_prio=0 tid=0x00007f9b10009000 nid=0x1da8 waiting on condition [0x00007f9b232b9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006e4f1c538> (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)-127.0.0.1" #47 daemon prio=9 os_prio=0 tid=0x00007f9b6402e800 nid=0x1da7 runnable [0x00007f9b233b9000]
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 <0x00000006e5339458> (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$79(TCPTransport.java:683)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$40/2023055977.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:
- <0x00000006e5046570> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" #46 daemon prio=9 os_prio=0 tid=0x00007f9b5c060000 nid=0x1da4 runnable [0x00007f9b3c11c000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
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

"Attach Listener" #45 daemon prio=9 os_prio=0 tid=0x00007f9ba0001000 nid=0x1da0 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"Thread-11" #44 prio=6 os_prio=0 tid=0x00007f9b700a7000 nid=0x1c85 waiting for monitor entry [0x00007f9b3c21c000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.addComponentListener(Component.java:5229)
- waiting to lock <0x00000004c01ce2f0> (a org.gvsig.andami.ui.mdiFrame.MDIFrame)
at javax.swing.AncestorNotifier.addListeners(AncestorNotifier.java:146)
at javax.swing.AncestorNotifier.propertyChange(AncestorNotifier.java:221)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8430)
at javax.swing.JComponent.addNotify(JComponent.java:4741)
at java.awt.Container.addNotify(Container.java:2773)
- locked <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.addNotify(JComponent.java:4740)
at java.awt.Container.addImpl(Container.java:1121)
- locked <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.add(Container.java:973)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext.showConsole(DefaultEditingContext.java:928)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext.access$100(DefaultEditingContext.java:94)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext$1.editionChanged(DefaultEditingContext.java:157)
- locked <0x00000006da2a3700> (a org.gvsig.vectorediting.swing.impl.DefaultEditingContext)
at org.gvsig.fmap.mapcontext.layers.FLyrDefault.callEditionChanged(FLyrDefault.java:646)
at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.update(FLyrVect.java:986)
at org.gvsig.tools.observer.impl.BaseWeakReferencingObservable.notify(BaseWeakReferencingObservable.java:305)
at org.gvsig.tools.observer.impl.DelegateWeakReferencingObservable.notify(DelegateWeakReferencingObservable.java:54)
at org.gvsig.tools.observer.impl.BaseWeakReferencingObservable.notifyObservers(BaseWeakReferencingObservable.java:164)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.notifyChange(DefaultFeatureStore.java:705)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.notifyChange(DefaultFeatureStore.java:675)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.edit(DefaultFeatureStore.java:896)
- locked <0x00000006d9df99e0> (a org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.edit(DefaultFeatureStore.java:861)
- locked <0x00000006d9df99e0> (a org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore)
at com.hydrologis.soleon.droneplanner.GenerateFlightLineExtension.process(GenerateFlightLineExtension.java:382)
at com.hydrologis.soleon.droneplanner.GenerateFlightLineExtension$1.run(GenerateFlightLineExtension.java:131)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"MapControl Drawer Worker" #42 prio=6 os_prio=0 tid=0x00007f9b701ce000 nid=0x1c83 in Object.wait() [0x00007f9b3c51e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.gvsig.fmap.mapcontrol.MapControl$Drawer.take(MapControl.java:1525)
- locked <0x00000006da459530> (a org.gvsig.fmap.mapcontrol.MapControl$Drawer)
at org.gvsig.fmap.mapcontrol.MapControl$Drawer$Worker.run(MapControl.java:1559)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"Thread-10" #41 daemon prio=6 os_prio=0 tid=0x00007f9b701bf000 nid=0x1c82 in Object.wait() [0x00007f9b3d173000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1482)
- locked <0x00000004be911b78> (a java.util.LinkedList)

Locked ownable synchronizers:
- None

"MapControl Drawer Worker" #40 prio=6 os_prio=0 tid=0x00007f9b701bb000 nid=0x1c81 in Object.wait() [0x00007f9b3d072000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.gvsig.fmap.mapcontrol.MapControl$Drawer.take(MapControl.java:1525)
- locked <0x00000006da1298b0> (a org.gvsig.fmap.mapcontrol.MapControl$Drawer)
at org.gvsig.fmap.mapcontrol.MapControl$Drawer$Worker.run(MapControl.java:1559)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"DestroyJavaVM" #32 prio=5 os_prio=0 tid=0x00007f9c04010800 nid=0x1c50 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"WeakCollectionCleaner" #30 daemon prio=8 os_prio=0 tid=0x00007f9b72113800 nid=0x1c78 in Object.wait() [0x00007f9b3d274000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000006ce3c5290> (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

"Timer-2" #29 prio=6 os_prio=0 tid=0x00007f9b710f3800 nid=0x1c76 in Object.wait() [0x00007f9b3dbe5000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x00000004c052fec0> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)

Locked ownable synchronizers:
- None

"Thread-6" #28 prio=6 os_prio=0 tid=0x00007f9b70ff0000 nid=0x1c75 in Object.wait() [0x00007f9b3dee6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.gvsig.raster.reproject.app.preparelayer.ReprojectionQueue.run(ReprojectionQueue.java:64)
- locked <0x00000004c0530120> (a org.gvsig.raster.reproject.app.preparelayer.ReprojectionQueue)

Locked ownable synchronizers:
- None

"TimerQueue" #27 daemon prio=5 os_prio=0 tid=0x00007f9b700e0000 nid=0x1c74 runnable [0x00007f9b7ce35000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000004c052fbd8> (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:
- <0x00000004c052fc20> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"Timer-1" #25 daemon prio=5 os_prio=0 tid=0x00007f9c07cad000 nid=0x1c73 in Object.wait() [0x00007f9b7d14f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x00000004bf523ae0> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)

Locked ownable synchronizers:
- None

"HSQLDB Timer @347b370c" #24 daemon prio=5 os_prio=0 tid=0x00007f9c07cbb800 nid=0x1c72 in Object.wait() [0x00007f9b7cd02000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.hsqldb.lib.HsqlTimer$TaskQueue.park(Unknown Source)
- locked <0x00000004bf7528e0> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
- locked <0x00000004bf7528e0> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"WeakCollectionCleaner" #23 daemon prio=5 os_prio=0 tid=0x00007f9c069a8800 nid=0x1c71 in Object.wait() [0x00007f9b7d856000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000004bf7a5978> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:73)

Locked ownable synchronizers:
- None

"Thread-2" #20 prio=5 os_prio=0 tid=0x00007f9c04a44800 nid=0x1c6b waiting on condition [0x00007f9b7edc2000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.gvsig.andami.ui.splash.Timer.run(Timer.java:142)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"AWT-EventQueue-0" #17 prio=6 os_prio=0 tid=0x00007f9c0495c800 nid=0x1c69 waiting for monitor entry [0x00007f9b7f3c2000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.show(Component.java:1635)
- waiting to lock <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at java.awt.Component.show(Component.java:1673)
at java.awt.Component.setVisible(Component.java:1625)
at javax.swing.JComponent.setVisible(JComponent.java:2644)
at org.gvsig.andami.ui.mdiFrame.MDIFrame.enableControls(MDIFrame.java:1240)
at org.gvsig.andami.ui.mdiFrame.MDIFrame.refreshControls(MDIFrame.java:1370)
- locked <0x00000004c01ce2f0> (a org.gvsig.andami.ui.mdiFrame.MDIFrame)
at org.gvsig.andami.ui.mdiFrame.MDIFrame$12.run(MDIFrame.java:1330)
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 org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50)
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=5 os_prio=0 tid=0x00007f9c0495b800 nid=0x1c68 in Object.wait() [0x00007f9b7f4c5000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
- locked <0x00000004bea3dd78> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"AWT-XAWT" #16 daemon prio=6 os_prio=0 tid=0x00007f9c04786000 nid=0x1c67 runnable [0x00007f9b7fbee000]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(XToolkit.java:568)
at sun.awt.X11.XToolkit.run(XToolkit.java:532)
at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
- None

"Java2D Disposer" #14 daemon prio=10 os_prio=0 tid=0x00007f9c04764800 nid=0x1c66 in Object.wait() [0x00007f9bb41d4000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000004beae82f8> (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

"Timer-0" #12 daemon prio=5 os_prio=0 tid=0x00007f9c045f3000 nid=0x1c65 in Object.wait() [0x00007f9bb6044000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x00000004bea56c78> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)

Locked ownable synchronizers:
- None

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

Locked ownable synchronizers:
- None

"C1 CompilerThread3" #10 daemon prio=9 os_prio=0 tid=0x00007f9c040df800 nid=0x1c62 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"C2 CompilerThread2" #9 daemon prio=9 os_prio=0 tid=0x00007f9c040dd800 nid=0x1c61 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"C2 CompilerThread1" #8 daemon prio=9 os_prio=0 tid=0x00007f9c040db800 nid=0x1c60 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"C2 CompilerThread0" #7 daemon prio=9 os_prio=0 tid=0x00007f9c040d8800 nid=0x1c5f waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"JDWP Event Helper Thread" #6 daemon prio=10 os_prio=0 tid=0x00007f9c040d6800 nid=0x1c5e runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

"JDWP Transport Listener: dt_socket" #5 daemon prio=10 os_prio=0 tid=0x00007f9c040d3000 nid=0x1c5d runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
- None

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

Locked ownable synchronizers:
- None

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f9c0408d800 nid=0x1c5b in Object.wait() [0x00007f9bb6e18000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000004be946d38> (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=0 tid=0x00007f9c0408b800 nid=0x1c5a in Object.wait() [0x00007f9bb6f19000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x00000004be924330> (a java.lang.ref.Reference$Lock)

Locked ownable synchronizers:
- None

"VM Thread" os_prio=0 tid=0x00007f9c04086800 nid=0x1c59 runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f9c04026000 nid=0x1c51 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f9c04027800 nid=0x1c52 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f9c04029800 nid=0x1c53 runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f9c0402b000 nid=0x1c54 runnable

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f9c0402d000 nid=0x1c55 runnable

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f9c0402e800 nid=0x1c56 runnable

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f9c04030800 nid=0x1c57 runnable

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f9c04032000 nid=0x1c58 runnable

"VM Periodic Task Thread" os_prio=0 tid=0x00007f9c04108000 nid=0x1c64 waiting on condition

JNI global references: 11170

Found one Java-level deadlock:
=============================
"Thread-11":
waiting to lock monitor 0x00007f9c04691008 (object 0x00000004c01ce2f0, a org.gvsig.andami.ui.mdiFrame.MDIFrame),
which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
waiting to lock monitor 0x00007f9c051b30b8 (object 0x00000004be8ffdd8, a java.awt.Component$AWTTreeLock),
which is held by "Thread-11"

Java stack information for the threads listed above:
===================================================
"Thread-11":
at java.awt.Component.addComponentListener(Component.java:5229)
- waiting to lock <0x00000004c01ce2f0> (a org.gvsig.andami.ui.mdiFrame.MDIFrame)
at javax.swing.AncestorNotifier.addListeners(AncestorNotifier.java:146)
at javax.swing.AncestorNotifier.propertyChange(AncestorNotifier.java:221)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8430)
at javax.swing.JComponent.addNotify(JComponent.java:4741)
at java.awt.Container.addNotify(Container.java:2773)
- locked <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.addNotify(JComponent.java:4740)
at java.awt.Container.addImpl(Container.java:1121)
- locked <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.add(Container.java:973)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext.showConsole(DefaultEditingContext.java:928)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext.access$100(DefaultEditingContext.java:94)
at org.gvsig.vectorediting.swing.impl.DefaultEditingContext$1.editionChanged(DefaultEditingContext.java:157)
- locked <0x00000006da2a3700> (a org.gvsig.vectorediting.swing.impl.DefaultEditingContext)
at org.gvsig.fmap.mapcontext.layers.FLyrDefault.callEditionChanged(FLyrDefault.java:646)
at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.update(FLyrVect.java:986)
at org.gvsig.tools.observer.impl.BaseWeakReferencingObservable.notify(BaseWeakReferencingObservable.java:305)
at org.gvsig.tools.observer.impl.DelegateWeakReferencingObservable.notify(DelegateWeakReferencingObservable.java:54)
at org.gvsig.tools.observer.impl.BaseWeakReferencingObservable.notifyObservers(BaseWeakReferencingObservable.java:164)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.notifyChange(DefaultFeatureStore.java:705)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.notifyChange(DefaultFeatureStore.java:675)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.edit(DefaultFeatureStore.java:896)
- locked <0x00000006d9df99e0> (a org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore)
at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.edit(DefaultFeatureStore.java:861)
- locked <0x00000006d9df99e0> (a org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore)
at com.hydrologis.soleon.droneplanner.GenerateFlightLineExtension.process(GenerateFlightLineExtension.java:382)
at com.hydrologis.soleon.droneplanner.GenerateFlightLineExtension$1.run(GenerateFlightLineExtension.java:131)
at java.lang.Thread.run(Thread.java:745)
"AWT-EventQueue-0":
at java.awt.Component.show(Component.java:1635)
- waiting to lock <0x00000004be8ffdd8> (a java.awt.Component$AWTTreeLock)
at java.awt.Component.show(Component.java:1673)
at java.awt.Component.setVisible(Component.java:1625)
at javax.swing.JComponent.setVisible(JComponent.java:2644)
at org.gvsig.andami.ui.mdiFrame.MDIFrame.enableControls(MDIFrame.java:1240)
at org.gvsig.andami.ui.mdiFrame.MDIFrame.refreshControls(MDIFrame.java:1370)
- locked <0x00000004c01ce2f0> (a org.gvsig.andami.ui.mdiFrame.MDIFrame)
at org.gvsig.andami.ui.mdiFrame.MDIFrame$12.run(MDIFrame.java:1330)
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 org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50)
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)

Found 1 deadlock.
</pre>


Back