Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8020165

[macosx] SWT_AWT bridge deadlocks when used in dialog

    Details

      Backports

        Description

        FULL PRODUCT VERSION :
        java version " 1.7.0_40-ea "

        ADDITIONAL OS VERSION INFORMATION :
        Mac OS X Lion 10.7.5 (11G63b)

        A DESCRIPTION OF THE PROBLEM :
        Our application deadlocks in AWT.

        We have a SWT_AWT frame in an Eclipse View. This works fine until we open a new SWT dialog that also contains a SWT_AWT frame.

        The main thread (SWT event thread) deadlocks because the SWT_AWT frame deadlocks because it requires a lock that is kept by the AWT thread that is spawned for the SWT_AWT frame in the view.

        REGRESSION. Last worked in version 7u40

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        The dialog opens and the SWT_AWT bridge is usable as the SWT_AWT bridge in the view.
        ACTUAL -
        Our application deadlocks

        In stacktrace:

        Thread, AWT-EventQueue-0 has lock on java.awt.Component$AWTTreeLock.
        Thread, main requires this lock and deadlocks blocking our application.

        ERROR MESSAGES/STACK TRACES THAT OCCUR :
        ID-PC11010:~ pjpinten$ jstack 4438
        2013-07-05 11:13:27
        Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.0-b48 mixed mode):

         " Attach Listener " daemon prio=5 tid=0x00007fdf0d258000 nid=0x16343 waiting on condition [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " Worker-9 " prio=5 tid=0x00007fdf0c621800 nid=0xf20f in Object.wait() [0x0000000111bde000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0d9f4e8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
        - locked <0x00000007e0d9f4e8> (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-8 " prio=5 tid=0x00007fdf03847000 nid=0x1600b in Object.wait() [0x000000011a86c000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0d9f4e8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
        - locked <0x00000007e0d9f4e8> (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)

         " Timer-1 " daemon prio=5 tid=0x00007fdf0ba7f000 nid=0x14b33 in Object.wait() [0x0000000115f79000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e1c590a8> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:503)
        at java.util.TimerThread.mainLoop(Timer.java:526)
        - locked <0x00000007e1c590a8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

         " [ThreadPool Manager] - Idle Thread " daemon prio=5 tid=0x00007fdf0d45a000 nid=0x14703 in Object.wait() [0x000000011651f000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e171f040> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
        at java.lang.Object.wait(Object.java:503)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
        - locked <0x00000007e171f040> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

         " Timer-0 " daemon prio=5 tid=0x00007fdf0d459800 nid=0x12907 in Object.wait() [0x00000001154d3000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e171f2d8> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:503)
        at java.util.TimerThread.mainLoop(Timer.java:526)
        - locked <0x00000007e171f2d8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

         " TPManager " prio=5 tid=0x00007fdf0c2c6000 nid=0x11307 in Object.wait() [0x000000011524d000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e171f6a0> (a id.util.thread.pool.ThreadPool$1)
        at id.util.thread.pool.ThreadPool$1.run(ThreadPool.java:264)
        - locked <0x00000007e171f6a0> (a id.util.thread.pool.ThreadPool$1)

         " TPWorker-1 " prio=5 tid=0x00007fdf0c369000 nid=0x11007 in Object.wait() [0x000000011514a000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e171fa70> (a id.util.thread.pool.TPRunnable)
        at java.lang.Object.wait(Object.java:503)
        at id.util.thread.pool.TPRunnable$TPThread.run(TPRunnable.java:152)
        - locked <0x00000007e171fa70> (a id.util.thread.pool.TPRunnable)

         " Thread-48 " daemon prio=5 tid=0x00007fdf0d45f800 nid=0x10f03 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " AWT-EventQueue-0 " prio=5 tid=0x00007fdf03823000 nid=0x10703 runnable [0x00000001140ef000]
           java.lang.Thread.State: RUNNABLE
        at sun.lwawt.macosx.CPlatformView.nativeGetLocationOnScreen(Native Method)
        at sun.lwawt.macosx.CPlatformView.getLocationOnScreen(CPlatformView.java:190)
        at sun.lwawt.macosx.CViewPlatformEmbeddedFrame.getLocationOnScreen(CViewPlatformEmbeddedFrame.java:107)
        at sun.lwawt.LWWindowPeer.getLocationOnScreen(LWWindowPeer.java:390)
        at sun.lwawt.LWComponentPeer.getLocationOnScreen(LWComponentPeer.java:578)
        at sun.lwawt.LWComponentPeer$DelegateContainer.getLocationOnScreen(LWComponentPeer.java:157)
        at sun.lwawt.LWComponentPeer$DelegateContainer.getLocation(LWComponentPeer.java:152)
        at sun.lwawt.LWComponentPeer$DelegateContainer.getY(LWComponentPeer.java:167)
        at javax.swing.SwingUtilities.convertPointFromScreen(SwingUtilities.java:431)
        at javax.swing.SwingUtilities.convertPoint(SwingUtilities.java:188)
        at javax.swing.SwingUtilities.convertMouseEvent(SwingUtilities.java:306)
        at sun.lwawt.LWComponentPeer.createDelegateEvent(LWComponentPeer.java:1214)
        at sun.lwawt.LWComponentPeer.sendEventToDelegate(LWComponentPeer.java:1164)
        - locked <0x00000007e11d4650> (a java.awt.Component$AWTTreeLock)
        at sun.lwawt.LWComponentPeer.handleEvent(LWComponentPeer.java:1156)
        at java.awt.Component.dispatchEventImpl(Component.java:4937)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:688)
        at java.awt.EventQueue$3.run(EventQueue.java:686)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:702)
        at java.awt.EventQueue$4.run(EventQueue.java:700)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

         " AWT-Shutdown " prio=5 tid=0x00007fdf0d1c1800 nid=0x10503 in Object.wait() [0x0000000113b13000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e1a726b8> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:503)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:287)
        - locked <0x00000007e1a726b8> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:722)

         " Thread-47 " prio=5 tid=0x00007fdf0c1ec000 nid=0x10303 waiting on condition [0x0000000113a10000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.DocumentController$6.run(DocumentController.java:660)

         " Thread-46 " prio=5 tid=0x00007fdf0c34f000 nid=0x10103 waiting on condition [0x00000001136ee000]
           java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <0x00000007e171fe90> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:317)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.DocumentController$5.run(DocumentController.java:509)

         " Thread-43 " prio=5 tid=0x00007fdf0d033000 nid=0xfc37 in Object.wait() [0x00000001135eb000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007f566a0a8> (a org.eclipse.swt.widgets.RunnableLock)
        at java.lang.Object.wait(Object.java:503)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
        - locked <0x00000007f566a0a8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:4613)
        at id.erw.scriptura.eclipse.editors.template.gui.runnabletracker.SWTSmartRunnableTracker.run(SWTSmartRunnableTracker.java:119)
        at java.lang.Thread.run(Thread.java:722)

         " Thread-26 " daemon prio=5 tid=0x00007fdf01bd9800 nid=0xe603 waiting on condition [0x0000000114559000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Thread-24 " daemon prio=5 tid=0x00007fdf040cc800 nid=0xe403 waiting on condition [0x0000000114456000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Java2D Disposer " daemon prio=5 tid=0x00007fdf0345a000 nid=0xd603 in Object.wait() [0x000000011380a000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0cd5a88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00000007e0cd5a88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at sun.java2d.Disposer.run(Disposer.java:145)
        at java.lang.Thread.run(Thread.java:722)

         " Java2D Queue Flusher " daemon prio=5 tid=0x00007fdf03103800 nid=0xc907 in Object.wait() [0x000000011254f000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0cd5f00> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)
        at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:208)
        - locked <0x00000007e0cd5f00> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

         " Shared file monitor " prio=5 tid=0x00007fdf03149000 nid=0x8d07 waiting on condition [0x000000010f716000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at id.util.io.SharedFile$1.run(SharedFile.java:180)

         " Global Timer " daemon prio=5 tid=0x00007fdf024fd000 nid=0xa807 in Object.wait() [0x000000010f0dc000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0cd9998> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00000007e0cd9998> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

         " Thread-13 " daemon prio=5 tid=0x00007fdf01193800 nid=0xba03 waiting on condition [0x000000011065b000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Thread-11 " daemon prio=5 tid=0x00007fdf0139e000 nid=0xb803 waiting on condition [0x0000000110558000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Thread-9 " daemon prio=5 tid=0x00007fdf0139d800 nid=0xb603 waiting on condition [0x0000000110455000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Thread-7 " daemon prio=5 tid=0x00007fdf01117800 nid=0xb403 waiting on condition [0x0000000110352000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.id.util.pool.ObjectPool$Cleaner.run(ObjectPool.java:540)

         " Shared file monitor " daemon prio=5 tid=0x00007fdf011aa800 nid=0xb203 waiting on condition [0x000000011024f000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at id.util.io.SharedFile$1.run(SharedFile.java:180)

         " Shared file monitor " daemon prio=5 tid=0x00007fdf01188800 nid=0xac0b waiting on condition [0x000000010f31a000]
           java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at id.util.io.SharedFile$1.run(SharedFile.java:180)

         " LoggerThread " daemon prio=5 tid=0x00007fdf01524000 nid=0xaf03 waiting on condition [0x000000011014c000]
           java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <0x00000007e030a9e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
        at id.osgi.service.log.impl.LogServiceImpl$LoggerThread.run(LogServiceImpl.java:78)

         " Worker-JM " prio=5 tid=0x00007fdf01ca9800 nid=0x8903 in Object.wait() [0x000000010f613000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0dab728> (a java.util.ArrayList)
        at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
        - locked <0x00000007e0dab728> (a java.util.ArrayList)

         " [Timer] - Main Queue Handler " daemon prio=5 tid=0x00007fdf022be800 nid=0x8703 in Object.wait() [0x000000010ef03000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e04f6c20> (a java.lang.Object)
        at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
        - locked <0x00000007e04f6c20> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:722)

         " Bundle File Closer " daemon prio=5 tid=0x00007fdf01a8d800 nid=0x800f in Object.wait() [0x000000010ecc2000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e04e5100> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:503)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
        - locked <0x00000007e04e5100> (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=5 tid=0x00007fdf03801000 nid=0x7f07 in Object.wait() [0x000000010cea4000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e0195040> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:503)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
        - locked <0x00000007e0195040> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

         " Framework Event Dispatcher " daemon prio=5 tid=0x00007fdf020e9800 nid=0x7c03 in Object.wait() [0x000000010cda1000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e01951f0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:503)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
        - locked <0x00000007e01951f0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

         " Framework Active Thread " prio=5 tid=0x00007fdf0192f000 nid=0x7803 in Object.wait() [0x000000010cb77000]
           java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e095cf38> (a org.eclipse.osgi.framework.internal.core.Framework)
        at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1817)
        - locked <0x00000007e095cf38> (a org.eclipse.osgi.framework.internal.core.Framework)
        at java.lang.Thread.run(Thread.java:722)

         " Service Thread " daemon prio=5 tid=0x00007fdf010a2000 nid=0x5103 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " C2 CompilerThread1 " daemon prio=5 tid=0x00007fdf010a1800 nid=0x4f03 waiting on condition [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " C2 CompilerThread0 " daemon prio=5 tid=0x00007fdf0109f800 nid=0x4d03 waiting on condition [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " JDWP Command Reader " daemon prio=5 tid=0x00007fdf04000000 nid=0x4b03 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " JDWP Event Helper Thread " daemon prio=5 tid=0x00007fdf01808000 nid=0x4903 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " JDWP Transport Listener: dt_socket " daemon prio=5 tid=0x00007fdf01807000 nid=0x4703 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " Signal Dispatcher " daemon prio=5 tid=0x00007fdf03008800 nid=0x4503 runnable [0x0000000000000000]
           java.lang.Thread.State: RUNNABLE

         " Finalizer " daemon prio=5 tid=0x00007fdf01084000 nid=0x3503 in Object.wait() [0x000000010ab85000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e030ddf8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00000007e030ddf8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

         " Reference Handler " daemon prio=5 tid=0x00007fdf01083000 nid=0x3303 in Object.wait() [0x000000010aa82000]
           java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007e04b48f8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x00000007e04b48f8> (a java.lang.ref.Reference$Lock)

         " main " prio=5 tid=0x00007fdf01034800 nid=0x707 waiting for monitor entry [0x00007fff615eb000]
           java.lang.Thread.State: BLOCKED (on object monitor)
        at java.awt.Window.setGraphicsConfiguration(Window.java:3144)
        - waiting to lock <0x00000007e11d4650> (a java.awt.Component$AWTTreeLock)
        at java.awt.Window.initGC(Window.java:470)
        at java.awt.Window.init(Window.java:487)
        at java.awt.Window.<init>(Window.java:536)
        at java.awt.Frame.<init>(Frame.java:420)
        at java.awt.Frame.<init>(Frame.java:385)
        at sun.awt.EmbeddedFrame.<init>(EmbeddedFrame.java:97)
        at sun.awt.EmbeddedFrame.<init>(EmbeddedFrame.java:94)
        at sun.awt.EmbeddedFrame.<init>(EmbeddedFrame.java:82)
        at sun.lwawt.macosx.CViewEmbeddedFrame.<init>(CViewEmbeddedFrame.java:43)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at org.eclipse.swt.awt.SWT_AWT.new_Frame(SWT_AWT.java:162)
        at id.erw.scriptura.eclipse.editors.template.gui.dialogs.chart.ChartPreviewDialogTray.createContents(ChartPreviewDialogTray.java:100)
        at org.eclipse.jface.dialogs.TrayDialog.openTray(TrayDialog.java:426)
        at id.erw.scriptura.eclipse.editors.template.gui.dialogs.chart.ChartWizardDialog.initializeBounds(ChartWizardDialog.java:88)
        at org.eclipse.jface.window.Window.create(Window.java:435)
        at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
        at org.eclipse.jface.window.Window.open(Window.java:790)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.TemplateAttributeEditor.editChart(TemplateAttributeEditor.java:164)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.tools.ChartTool.createShape(ChartTool.java:36)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.tools.AbstractShapeTool.mouseUp(AbstractShapeTool.java:302)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.tools.AbstractTool.mouseUp(AbstractTool.java:282)
        at id.erw.scriptura.eclipse.editors.template.gui.controller.DocumentController.mouseUp(DocumentController.java:1573)
        at id.erw.scriptura.eclipse.editors.template.gui.editor.layout.AbstractLayoutEditorPart.handleMouseUpEvent(AbstractLayoutEditorPart.java:1794)
        at id.erw.scriptura.eclipse.editors.template.gui.runnabletracker.SWTSmartRunnableTracker$1.run(SWTSmartRunnableTracker.java:151)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
        - locked <0x00000007f566a0a8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3938)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3615)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
        at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at com.id.scriptura.application.designer.DesignerApplication.start(DesignerApplication.java:107)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

         " VM Thread " prio=5 tid=0x00007fdf01082800 nid=0x3103 runnable

         " GC task thread#0 (ParallelGC) " prio=5 tid=0x00007fdf01042800 nid=0x2103 runnable

         " GC task thread#1 (ParallelGC) " prio=5 tid=0x00007fdf01043000 nid=0x2303 runnable

         " GC task thread#2 (ParallelGC) " prio=5 tid=0x00007fdf01043800 nid=0x2503 runnable

         " GC task thread#3 (ParallelGC) " prio=5 tid=0x00007fdf01044800 nid=0x2703 runnable

         " GC task thread#4 (ParallelGC) " prio=5 tid=0x00007fdf01045000 nid=0x2903 runnable

         " GC task thread#5 (ParallelGC) " prio=5 tid=0x00007fdf01045800 nid=0x2b03 runnable

         " GC task thread#6 (ParallelGC) " prio=5 tid=0x00007fdf01046000 nid=0x2d03 runnable

         " GC task thread#7 (ParallelGC) " prio=5 tid=0x00007fdf01047000 nid=0x2f03 runnable

         " VM Periodic Task Thread " prio=5 tid=0x00007fdf010b3000 nid=0x5303 waiting on condition

        JNI global references: 13328

        REPRODUCIBILITY :
        This bug can be reproduced always.

        CUSTOMER SUBMITTED WORKAROUND :
        We can remove the SWT_AWT bridges from the dialogs as they are not really required to function (they are used in a preview) but this is not really a solution.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pchelko Petr Pchelko (Inactive)
                  Reporter:
                  webbuggrp Webbug Group
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: