4 Replies Latest reply on Mar 13, 2014 8:11 AM by crok

    SQL Dev 4.0.1 Hanging on MBP

    crok

      Hello,

       

      SQL Developer is hanging from time to time on my MBP.  It is not obvious what is the pattern. In this latest case it was when having a package spec open, and clicking on the button to open the body.  Here is the thead dump:

       

      Oracle SQL Developer

      Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.

       

       

       

      LOAD TIME : 6922014-03-12 14:28:54

      Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):

       

      "DBRequestProcessorFactory_Timer" daemon prio=5 tid=0x00007f85b76c1000 nid=0x1290b in Object.wait() [0x000000012d024000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007e21b8ce8> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007e21b8ce8> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "Background Parser" prio=5 tid=0x00007f85b70f5800 nid=0xe21f waiting on condition [0x000000012cf21000]

         java.lang.Thread.State: TIMED_WAITING (sleeping)

        at java.lang.Thread.sleep(Native Method)

        at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:142)

        at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)

        at java.lang.Thread.run(Thread.java:744)

       

      "SwingWorker-pool-6-thread-2" daemon prio=5 tid=0x00007f85b8250000 nid=0xe40b waiting on condition [0x000000012d2fb000]

         java.lang.Thread.State: WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x00000007da8c3688> (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 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "Timer-9" prio=5 tid=0x00007f85b4814800 nid=0x1073f in Object.wait() [0x0000000124f48000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007e09c8350> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007e09c8350> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "SwingWorker-pool-6-thread-1" daemon prio=5 tid=0x00007f85b1cac800 nid=0x601f waiting on condition [0x000000011fc48000]

         java.lang.Thread.State: WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x00000007da8c3688> (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 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "pool-4-thread-1" prio=5 tid=0x00007f85b12c3000 nid=0x10653 waiting on condition [0x0000000128cb5000]

         java.lang.Thread.State: TIMED_WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x00000007d55097b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)

        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)

        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)

        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "Background Parser" prio=5 tid=0x00007f85b70f9000 nid=0x11317 sleeping[0x00000001252fc000]

         java.lang.Thread.State: TIMED_WAITING (sleeping)

        at java.lang.Thread.sleep(Native Method)

        at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:142)

        at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)

        at java.lang.Thread.run(Thread.java:744)

       

      "Background Parser" prio=5 tid=0x00007f85b7107800 nid=0xe013 sleeping[0x000000011e770000]

         java.lang.Thread.State: TIMED_WAITING (sleeping)

        at java.lang.Thread.sleep(Native Method)

        at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:142)

        at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)

        at java.lang.Thread.run(Thread.java:744)

       

      "WeakDataReference polling" prio=5 tid=0x00007f85b6ad9800 nid=0xfe0b in Object.wait() [0x00000001222b8000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007fca48c18> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x00000007fca48c18> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)

        at oracle.ide.util.WeakDataReference$Cleaner.run(WeakDataReference.java:88)

        at java.lang.Thread.run(Thread.java:744)

       

      "status-0" prio=5 tid=0x00007f85b4b4f000 nid=0xff07 waiting on condition [0x0000000121689000]

         java.lang.Thread.State: WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x00000007fcd69780> (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.DelayQueue.take(DelayQueue.java:209)

        at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:338)

        at oracle.ide.status.StatusExecutor$StatusQueue.take(StatusExecutor.java:300)

        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "IconOverlayTracker Timer: null-jdbcNodeInfoType" prio=5 tid=0x00007f85b15be000 nid=0x10c07 in Object.wait() [0x000000012107c000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007fc9e0560> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007fc9e0560> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "IconOverlayTracker Timer: oracle.jdeveloper.subversion-Subversion" prio=5 tid=0x00007f85b1bc1000 nid=0x9107 in Object.wait() [0x00000001208b9000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007fca052c0> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007fca052c0> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "Thread-18" daemon prio=5 tid=0x00007f85b13ce800 nid=0x11903 waiting on condition [0x0000000122c5e000]

         java.lang.Thread.State: TIMED_WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x00000007fcf3b5d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)

        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)

        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)

        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "Timer-1" prio=5 tid=0x00007f85b4ac5000 nid=0x11703 in Object.wait() [0x0000000122b5b000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000783fb8618> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x0000000783fb8618> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "TextBufferScavenger" prio=5 tid=0x00007f85b1b34000 nid=0x11503 in Object.wait() [0x0000000122a58000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007fca6dfb8> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x00000007fca6dfb8> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)

        at oracle.ide.model.FacadeBufferReference$PollingThread.run(FacadeBufferReference.java:145)

       

      "WaitCursor-Timer" prio=5 tid=0x00007f85b1de2800 nid=0x11107 in Object.wait() [0x0000000121b4d000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000783fb8d70> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x0000000783fb8d70> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "pool-3-thread-1" prio=5 tid=0x00007f85b4f3c000 nid=0x10f03 waiting on condition [0x00000001225c1000]

         java.lang.Thread.State: WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x0000000783af1960> (a java.util.concurrent.SynchronousQueue$TransferStack)

        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:458)

        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

        at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:925)

        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:744)

       

      "Scheduler" daemon prio=5 tid=0x00007f85b1326000 nid=0x10d03 in Object.wait() [0x00000001224be000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007827fb5c8> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)

        at java.lang.Object.wait(Object.java:503)

        at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)

        - locked <0x00000007827fb5c8> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)

        at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:479)

       

      "DestroyJavaVM" prio=5 tid=0x00007f85b1802000 nid=0x1b03 waiting on condition [0x0000000000000000]

         java.lang.Thread.State: RUNNABLE

       

      "Thread-12" daemon prio=5 tid=0x00007f85b581b000 nid=0x10903 in Object.wait() [0x00000001221b5000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000780e04c10> (a java.util.LinkedList)

        at java.lang.Object.wait(Object.java:503)

        at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1476)

        - locked <0x0000000780e04c10> (a java.util.LinkedList)

       

      "Thread-11" daemon prio=5 tid=0x00007f85b5826000 nid=0x1043f waiting on condition [0x0000000121586000]

         java.lang.Thread.State: TIMED_WAITING (sleeping)

        at java.lang.Thread.sleep(Native Method)

        at sun.print.UnixPrintServiceLookup$PrinterChangeListener.run(UnixPrintServiceLookup.java:816)

       

      "Timer-0" daemon prio=5 tid=0x00007f85b4d8b800 nid=0x3307 in Object.wait() [0x0000000120f79000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007857a5f78> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007857a5f78> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "Thread-8" daemon prio=5 tid=0x00007f85b5938000 nid=0x8107 in Object.wait() [0x0000000120e76000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007858f00f8> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x00000007858f00f8> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)

        at org.tmatesoft.svn.core.javahl.SVNClientImplTracker.run(SVNClientImplTracker.java:65)

        at java.lang.Thread.run(Thread.java:744)

       

      "ChangeSetService" daemon prio=5 tid=0x00007f85b1646800 nid=0x10003 in Object.wait() [0x000000011f83c000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x000000078553b930> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)

        at java.lang.Object.wait(Object.java:503)

        at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:131)

        - locked <0x000000078553b930> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)

        at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:152)

        at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$000(ChangeSetService.java:60)

        at oracle.jdevimpl.vcs.changeset.ChangeSetService$1.run(ChangeSetService.java:99)

        at java.lang.Thread.run(Thread.java:744)

       

      "Log Poller" prio=5 tid=0x00007f85b46d9000 nid=0xfc07 waiting on condition [0x000000011e66d000]

         java.lang.Thread.State: WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x0000000784c335d8> (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 oracle.ide.log.QueuedLoggingHandler.take(QueuedLoggingHandler.java:60)

        at oracle.ideimpl.log.TabbedLogManager$4.run(TabbedLogManager.java:321)

        at java.lang.Thread.run(Thread.java:744)

       

      "JarIndex Timer" daemon prio=5 tid=0x00007f85b480a000 nid=0xf107 in Object.wait() [0x000000011dc4b000]

         java.lang.Thread.State: TIMED_WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000780403460> (a java.util.TaskQueue)

        at java.util.TimerThread.mainLoop(Timer.java:552)

        - locked <0x0000000780403460> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "TimedCache-Timer" daemon prio=5 tid=0x00007f85b14b9000 nid=0xf207 in Object.wait() [0x0000000118225000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007800834d8> (a java.util.TaskQueue)

        at java.lang.Object.wait(Object.java:503)

        at java.util.TimerThread.mainLoop(Timer.java:526)

        - locked <0x00000007800834d8> (a java.util.TaskQueue)

        at java.util.TimerThread.run(Timer.java:505)

       

      "Framework Event Dispatcher" daemon prio=5 tid=0x00007f85b14c3000 nid=0xe637 in Object.wait() [0x00000001170d1000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007804036c0> (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 <0x00000007804036c0> (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=5 tid=0x00007f85b1cc8800 nid=0xe903 waiting on condition [0x0000000117a0a000]

         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:744)

       

      "Framework Active Thread" prio=5 tid=0x00007f85b1ccf800 nid=0xe807 in Object.wait() [0x0000000117907000]

         java.lang.Thread.State: TIMED_WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000784be0f78> (a org.eclipse.osgi.framework.internal.core.Framework)

        at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1863)

        - locked <0x0000000784be0f78> (a org.eclipse.osgi.framework.internal.core.Framework)

        at java.lang.Thread.run(Thread.java:744)

       

      "CLI Requests Server" daemon prio=5 tid=0x00007f85b1cb5800 nid=0xd803 runnable [0x0000000116901000]

         java.lang.Thread.State: RUNNABLE

        at java.net.PlainSocketImpl.socketAccept(Native Method)

        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)

        at java.net.ServerSocket.implAccept(ServerSocket.java:530)

        at java.net.ServerSocket.accept(ServerSocket.java:498)

        at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1100)

       

      "Active Reference Queue Daemon" daemon prio=5 tid=0x00007f85b12d5800 nid=0xce3b in Object.wait() [0x00000001165de000]

         java.lang.Thread.State: TIMED_WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000784e38118> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x0000000784e38118> (a java.lang.ref.ReferenceQueue$Lock)

        at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:180)

        - locked <0x0000000784e38118> (a java.lang.ref.ReferenceQueue$Lock)

       

      "TimerQueue" daemon prio=5 tid=0x00007f85b110b800 nid=0xc40b waiting on condition [0x0000000114fa9000]

         java.lang.Thread.State: TIMED_WAITING (parking)

        at sun.misc.Unsafe.park(Native Method)

        - parking to wait for  <0x0000000780487e08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)

        at java.util.concurrent.DelayQueue.take(DelayQueue.java:220)

        at javax.swing.TimerQueue.run(TimerQueue.java:171)

        at java.lang.Thread.run(Thread.java:744)

       

      "Java2D Disposer" daemon prio=5 tid=0x00007f85b110c800 nid=0xb60b in Object.wait() [0x0000000114a3e000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000784de82b0> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x0000000784de82b0> (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:744)

       

      "Java2D Queue Flusher" daemon prio=5 tid=0x00007f85b1986800 nid=0xb407 in Object.wait() [0x0000000113d89000]

         java.lang.Thread.State: TIMED_WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000784c5f088> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

        at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:208)

        - locked <0x0000000784c5f088> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

       

      "AWT-EventQueue-0" prio=5 tid=0x00007f85b1114800 nid=0xae03 runnable [0x0000000113c84000]

         java.lang.Thread.State: RUNNABLE

        at oracle.jdbc.driver.T2CStatement.t2cParseExecuteDescribe(Native Method)

        at oracle.jdbc.driver.T2CCallableStatement.executeForDescribe(T2CCallableStatement.java:486)

        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)

        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)

        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)

        at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)

        - locked <0x00000007fc706be8> (a oracle.jdbc.driver.T2CConnection)

        at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)

        at oracle.dbtools.db.DBUtil$10.call(DBUtil.java:659)

        at oracle.dbtools.db.DBUtil$10.call(DBUtil.java:649)

        at oracle.dbtools.db.DBUtil.assertLock(DBUtil.java:1745)

        at oracle.dbtools.db.DBUtil.executeOracleQuery(DBUtil.java:675)

        at oracle.dbtools.db.OracleUtil.executeQuery(OracleUtil.java:52)

        at oracle.dbtools.raptor.navigator.ObjectQueryInstance.executeQuery(ObjectQueryInstance.java:75)

        at oracle.dbtools.raptor.navigator.db.xml.XmlFolderInstance.getChildren(XmlFolderInstance.java:105)

        at oracle.dbtools.raptor.navigator.db.xml.XmlFolderInstance.getChildren(XmlFolderInstance.java:51)

        at oracle.dbtools.raptor.navigator.impl.DatabaseNavigatorElementFactory.createNodeFromFolder(DatabaseNavigatorElementFactory.java:239)

        at oracle.dbtools.raptor.navigator.impl.DatabaseNavigatorElementFactory.createNodeByType(DatabaseNavigatorElementFactory.java:215)

        at oracle.dbtools.raptor.navigator.impl.DatabaseNavigatorElementFactory.getObjectNode(DatabaseNavigatorElementFactory.java:138)

        at oracle.dbtools.raptor.insight.CompletionInsight.initMembers(CompletionInsight.java:284)

        at oracle.dbtools.raptor.insight.CompletionInsight.<init>(CompletionInsight.java:149)

        at oracle.dbtools.raptor.insight.DatabaseInsightAddin.createPlugins(DatabaseInsightAddin.java:37)

        at oracle.ide.ceditor.CodeEditor.installPluginsRegistered(CodeEditor.java:2139)

        at oracle.ide.ceditor.CodeEditor.initializeEditor(CodeEditor.java:2046)

        at oracle.ide.ceditor.CodeEditor.setContext(CodeEditor.java:1367)

        - locked <0x00000007e449c458> (a oracle.ide.ceditor.CodeEditor)

        at com.oracle.jdeveloper.nbwindowsystem.editor.EditorState.createEditor(EditorState.java:169)

        at com.oracle.jdeveloper.nbwindowsystem.editor.EditorState.getOrCreateEditor(EditorState.java:103)

        at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPaneState.canSetEditorStatePos(SplitPaneState.java:257)

        at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPaneState.setCurrentEditorStatePos(SplitPaneState.java:220)

        at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroupState.createSplitPaneState(TabGroupState.java:110)

        at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.addTabGroupState(TabGroup.java:116)

        at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:546)

        at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:523)

        at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditor(NbEditorManager.java:391)

        at oracle.dbtools.raptor.oviewer.base.NavSelectionListener.openEditor(NavSelectionListener.java:845)

        at oracle.dbtools.raptor.oviewer.base.NavSelectionListener.openEditor(NavSelectionListener.java:765)

        at oracle.dbtools.raptor.oviewer.base.NavSelectionListener.access$1500(NavSelectionListener.java:83)

        at oracle.dbtools.raptor.oviewer.base.NavSelectionListener$4.run(NavSelectionListener.java:491)

        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)

        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)

        at java.awt.EventQueue.access$200(EventQueue.java:103)

        at java.awt.EventQueue$3.run(EventQueue.java:694)

        at java.awt.EventQueue$3.run(EventQueue.java:692)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

        at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)

        at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)

        at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)

        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=0x00007f85b10a9800 nid=0x690f in Object.wait() [0x000000011191d000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007808a6490> (a java.lang.Object)

        at java.lang.Object.wait(Object.java:503)

        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:287)

        - locked <0x00000007808a6490> (a java.lang.Object)

        at java.lang.Thread.run(Thread.java:744)

       

      "AppKit Thread" daemon prio=5 tid=0x00007f85b10a9000 nid=0x507 runnable [0x00007fff5ae44000]

         java.lang.Thread.State: RUNNABLE

        at sun.lwawt.macosx.LWCToolkit.doAWTRunLoop(Native Method)

        at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:549)

        at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:489)

        at sun.lwawt.macosx.CAccessibility.invokeAndWait(CAccessibility.java:75)

        at sun.lwawt.macosx.CAccessibility.accessibilityHitTest(CAccessibility.java:388)

       

      "Service Thread" daemon prio=5 tid=0x00007f85b1036000 nid=0x4803 runnable [0x0000000000000000]

         java.lang.Thread.State: RUNNABLE

       

      "C2 CompilerThread1" daemon prio=5 tid=0x00007f85b1035000 nid=0x4603 waiting on condition [0x0000000000000000]

         java.lang.Thread.State: RUNNABLE

       

      "C2 CompilerThread0" daemon prio=5 tid=0x00007f85b1856000 nid=0x4403 waiting on condition [0x0000000000000000]

         java.lang.Thread.State: RUNNABLE

       

      "Signal Dispatcher" daemon prio=5 tid=0x00007f85b1019000 nid=0x4203 waiting on condition [0x0000000000000000]

         java.lang.Thread.State: RUNNABLE

       

      "Finalizer" daemon prio=5 tid=0x00007f85b184d800 nid=0x2f03 in Object.wait() [0x000000010f51e000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x0000000780c1ed10> (a java.lang.ref.ReferenceQueue$Lock)

        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)

        - locked <0x0000000780c1ed10> (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=0x00007f85b1012800 nid=0x2d03 in Object.wait() [0x000000010f41b000]

         java.lang.Thread.State: WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x00000007818893e8> (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 <0x00000007818893e8> (a java.lang.ref.Reference$Lock)

       

      "VM Thread" prio=5 tid=0x00007f85b184b000 nid=0x2b03 runnable

       

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

       

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

       

      "VM Periodic Task Thread" prio=5 tid=0x00007f85b102d800 nid=0x4a03 waiting on condition

       

      JNI global references: 4018

       

      Heap

      PSYoungGen      total 634880K, used 295883K [0x00000007d5500000, 0x00000007ffa00000, 0x0000000800000000)

        eden space 582656K, 45% used [0x00000007d5500000,0x00000007e5705be8,0x00000007f8e00000)

        from space 52224K, 60% used [0x00000007fc700000,0x00000007fe5ed128,0x00000007ffa00000)

        to   space 55296K, 0% used [0x00000007f8e00000,0x00000007f8e00000,0x00000007fc400000)

      ParOldGen       total 349696K, used 92812K [0x0000000780000000, 0x0000000795580000, 0x00000007d5500000)

        object space 349696K, 26% used [0x0000000780000000,0x0000000785aa3238,0x0000000795580000)

      PSPermGen       total 101376K, used 101286K [0x0000000770000000, 0x0000000776300000, 0x0000000780000000)

        object space 101376K, 99% used [0x0000000770000000,0x00000007762e98b8,0x0000000776300000)

        • 1. Re: SQL Dev 4.0.1 Hanging on MBP
          Jeff Smith Sqldev Pm-Oracle

          It looks like the 'hang' is happening when we're trying to expand/paint the tree for your package body. You say there's no real pattern here. One thing it could be is a stale set of data dictionary stats. That would cause performance issues for a tool like SQL Developer that hits the data dictionary HARD.

           

          Or it might be this package iS HUGE. How many members are in your body?

          • 2. Re: SQL Dev 4.0.1 Hanging on MBP
            crok

            The package is 726 lines long (including whitespace and comments), and has 11 members inside.  Data dictionary stats are up-to-date.

            After I killed the process, I restarted it, and it worked just fine...

            • 3. Re: SQL Dev 4.0.1 Hanging on MBP
              Gary Graham-Oracle

              There are a couple of strange things about the full thread dump you provide...

               

              1.  All the threads have priority 5.  Maybe that's an OSX thing, but on Windows there is a bit more variety.

              2.  Two threads are locking the same "monitor" (SwingWorker-pool-6-thread-1 and SwingWorker-pool-6-thread-2).

               

              Here is something I found regarding (1) referencing MBP and threads at the same priority (see "thread starvation" comment):

              https://groups.google.com/forum/#!topic/javaposse/wsxMEcIRRG8

               

              Supposedly (2) is an impossibility, but I have seen that sort of thing before. Did you generate this dump via <Command><.>,

              equivalent to Ctrl-Break in Windows, or did you use some other method?   Perhaps something like this from a terminal window...

               

              1. Find the <Java-Process-ID> for SQL Developer via jps -lv

              2. Then run jstack <Java-Process-ID> -l > jstack.out

               

              It would be interesting to see if full thread dump varies depending on the method of acquisition.

               

              Regards,

              Gary

              SQL Developer Team

               

              Message was edited by: Gary Graham Thread Starvation comment

              • 4. Re: SQL Dev 4.0.1 Hanging on MBP
                crok

                I generated the thread dump by finding the <pid> via ps -a, and then issuing kill -3 <pid>.  For other lockups in the past, I found that <Command><.> was just existing the process with no thread dump.

                I will try the alternative you proposed as soon as I have the next lockup.

                 

                Thanks,
                Chris