This discussion is archived
4 Replies Latest reply: Nov 27, 2013 9:09 AM by Gary Graham RSS

SQL Developer 4 12.84 Burns CPU

Larry'sWallet Newbie
Currently Being Moderated

I've just installed SQL Developer 4 build 12.84. After running a few queries I notice the sql developer is using > 50% of the available CPU constantly forseveral hours, despite not obviously running any queries.

 

Here's the output of jstack:

jstack 6540

2013-10-21 14:24:16

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

 

 

"Worker-278" prio=6 tid=0x000000000c361000 nid=0x23a4 in Object.wait() [0x000000000f2ae000]

   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 <0x00000000d092b180> (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-277" prio=6 tid=0x000000000c35c000 nid=0x1f7c in Object.wait() [0x000000000f98e000]

   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 <0x00000000d092b180> (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)

 

 

"org.eclipse.jface.text.reconciler.MonoReconciler" daemon prio=2 tid=0x000000000bfef800 nid=0x222c in Object.wait() [0x0000000012c0f

000]

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

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

        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

        - locked <0x00000000d7a46b70> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

 

 

"[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x000000000e87c000 nid=0x21d0 in Object.wait() [0x000000001284f000]

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

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

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

        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)

        - locked <0x00000000d71aa9a0> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

 

 

"Reporting Thread-1 (Spring UAA/1.0.3)" daemon prio=6 tid=0x000000000e87d800 nid=0x11b0 waiting on condition [0x00000000126de000]

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

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

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

        at java.util.concurrent.locks.LockSupport.park(Unknown Source)

        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)

        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

 

 

"Provisioning Event Dispatcher" daemon prio=6 tid=0x000000000e880800 nid=0x1d18 in Object.wait() [0x00000000125af000]

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

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

        - waiting on <0x00000000d4b92180> (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 <0x00000000d4b92180> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

 

 

"MultiThreadedHttpConnectionManager cleanup" daemon prio=6 tid=0x000000000e881800 nid=0x1ee8 in Object.wait() [0x0000000011f3f000]

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

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

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

        at java.lang.ref.ReferenceQueue.remove(Unknown Source)

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

        at java.lang.ref.ReferenceQueue.remove(Unknown Source)

        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionMana

ger.java:1122)

 

 

"Event Batch Processing (Spring UAA/1.0.3)" daemon prio=6 tid=0x000000000e880000 nid=0x1f14 waiting on condition [0x000000001237f000

]

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

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

        at org.springframework.ide.eclipse.internal.uaa.client.QueueingUaaServiceExtension$QueueFlushingRunnable.run(QueueingUaaServ

iceExtension.java:307)

        at java.lang.Thread.run(Unknown Source)

 

 

"Synchronizer (Spring UAA/1.0.3)" daemon prio=6 tid=0x000000000e87f000 nid=0x19cc waiting on condition [0x000000001221f000]

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

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

        at org.springframework.uaa.client.internal.TransmissionAwareUaaServiceImpl$UaaTransmissionRunnable.run(TransmissionAwareUaaS

erviceImpl.java:397)

        at java.lang.Thread.run(Unknown Source)

 

 

"org.eclipse.jface.text.reconciler.MonoReconciler" daemon prio=2 tid=0x000000000c35b000 nid=0x21f0 in Object.wait() [0x000000000fdcf

000]

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

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

        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

        - locked <0x00000000d538b990> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

 

 

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x000000000bff0000 nid=0x1adc in Object.wait() [0x000000000fcaf0

00]

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

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

        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

        - locked <0x00000000d3ac0470> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

 

 

"Java indexing" daemon prio=4 tid=0x000000000bfeb800 nid=0x1ef0 in Object.wait() [0x000000000faff000]

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

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

        - waiting on <0x00000000d3eabf80> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)

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

        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:382)

        - locked <0x00000000d3eabf80> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)

        at java.lang.Thread.run(Unknown Source)

 

 

"pool-1-thread-1" prio=6 tid=0x000000000bfee800 nid=0x1ad0 waiting on condition [0x000000000f3de000]

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

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

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

        at java.util.concurrent.locks.LockSupport.park(Unknown Source)

        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)

        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)

        at java.util.concurrent.SynchronousQueue.take(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

 

 

"Worker-0" prio=6 tid=0x000000000bfeb000 nid=0x1f10 waiting on condition [0x000000000d58f000]

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

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

        at org.apache.directory.studio.common.core.jobs.StudioProgressMonitor$1.run(StudioProgressMonitor.java:99)

        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

 

 

"Thread-2" daemon prio=2 tid=0x000000000bb26800 nid=0x13e4 waiting on condition [0x000000000ce1f000]

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

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

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

        at java.util.concurrent.locks.LockSupport.park(Unknown Source)

        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)

        at java.util.concurrent.ArrayBlockingQueue.take(Unknown Source)

        at org.eclipse.equinox.weaving.internal.caching.CacheWriter$1.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

 

 

"Worker-JM" prio=6 tid=0x000000000bb3a000 nid=0x2158 in Object.wait() [0x000000000d10f000]

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

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

        - waiting on <0x00000000d092b410> (a java.util.ArrayList)

        at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)

        - locked <0x00000000d092b410> (a java.util.ArrayList)

 

 

"[Timer] - Main Queue Handler" daemon prio=6 tid=0x000000000b08f800 nid=0x16a4 in Object.wait() [0x000000000cf2f000]

   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 <0x00000000d0d8b268> (a java.lang.Object)

        at java.lang.Thread.run(Unknown Source)

 

 

"Framework Event Dispatcher" daemon prio=6 tid=0x000000000b17b800 nid=0xc2c in Object.wait() [0x000000000cb8f000]

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

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

        - waiting on <0x00000000d1d71fa0> (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 <0x00000000d1d71fa0> (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=0x000000000b05c000 nid=0x99c in Object.wait() [0x000000000c9df000]

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

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

        - waiting on <0x00000000d17f6820> (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 <0x00000000d17f6820> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

 

 

"Bundle File Closer" daemon prio=6 tid=0x000000000b01a000 nid=0x183c in Object.wait() [0x000000000c7ef000]

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

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

        - waiting on <0x00000000d078dd70> (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 <0x00000000d078dd70> (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=0x000000000ad67800 nid=0x1be8 waiting on condition [0x000000000a32f000]

   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(Unknown Source)

 

 

"Framework Active Thread" prio=6 tid=0x0000000009ecc800 nid=0x1d20 in Object.wait() [0x000000000b5fe000]

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

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

        at java.lang.Thread.run(Unknown Source)

 

 

"Service Thread" daemon prio=6 tid=0x0000000008460800 nid=0x1220 runnable [0x0000000000000000]

   java.lang.Thread.State: RUNNABLE

 

 

"C2 CompilerThread1" daemon prio=10 tid=0x0000000008456000 nid=0x1ed8 waiting on condition [0x0000000000000000]

   java.lang.Thread.State: RUNNABLE

 

 

"C2 CompilerThread0" daemon prio=10 tid=0x000000000843f000 nid=0x1130 waiting on condition [0x0000000000000000]

   java.lang.Thread.State: RUNNABLE

 

 

"Attach Listener" daemon prio=10 tid=0x000000000843d000 nid=0x1c64 waiting on condition [0x0000000000000000]

   java.lang.Thread.State: RUNNABLE

 

 

"Signal Dispatcher" daemon prio=10 tid=0x000000000843b800 nid=0x15f4 runnable [0x0000000000000000]

   java.lang.Thread.State: RUNNABLE

 

 

"Finalizer" daemon prio=8 tid=0x000000000261c800 nid=0x11f0 in Object.wait() [0x000000000925f000]

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

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

        at java.lang.ref.ReferenceQueue.remove(Unknown Source)

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

        at java.lang.ref.ReferenceQueue.remove(Unknown Source)

        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

 

 

"Reference Handler" daemon prio=10 tid=0x0000000002618800 nid=0x9d0 in Object.wait() [0x000000000908f000]

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

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

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

        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

        - locked <0x00000000d028cff8> (a java.lang.ref.Reference$Lock)

 

 

"main" prio=6 tid=0x00000000026de800 nid=0x1c70 runnable [0x000000000295e000]

   java.lang.Thread.State: RUNNABLE

        at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)

        at org.eclipse.swt.widgets.Display.sleep(Display.java:4656)

        at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:364)

        at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.eventLoopIdle(IDEWorkbenchAdvisor.java:917)

        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2702)

        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 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)

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

        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)

        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)

        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

        at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

 

 

"VM Thread" prio=10 tid=0x00000000083e1800 nid=0x21ac runnable

 

 

"GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000002555000 nid=0xcb0 runnable

 

 

"GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000002557000 nid=0x1408 runnable

 

 

"VM Periodic Task Thread" prio=10 tid=0x000000000846b000 nid=0x12c8 waiting on condition

 

 

JNI global references: 298

  • 1. Re: SQL Developer 4 12.84 Burns CPU
    Gary Graham Expert
    Currently Being Moderated

    Well, thread dump analyzer says a high percentage of threads are sleeping (but none are waiting) on a monitor -- meaning they are either idle waiting for work or dependent on some external resource that is busy or not available.  Not sure how to interpret this, since you say nothing obvious is running.

     

    Nothing similar has been reported against 4.0 that I know of, but in the past a couple of possibilities (not necessarily related to your thread dump) have been:

    1. Large SQL History: 3.2 - CPU usage high

    2. Look and Feel setting on the Mac: 3.0 prod - still High CPU usage on Mac OS

     

    Regards,

    Gary

    SQL Developer Team

  • 2. Re: SQL Developer 4 12.84 Burns CPU
    Larry'sWallet Newbie
    Currently Being Moderated

    Gary

     

    This is still happening regularly. I running several stack dumps a minute or two apart, I see that the "Background Parser" thread is likely to be the culprit:

     

    1st stack dump:

    "Background Parser" prio=6 tid=0x000000001101c000 nid=0x166c runnable [0x000000000a6be000]

       java.lang.Thread.State: RUNNABLE

      at java.util.TreeMap.put(TreeMap.java:567)

      at java.util.TreeSet.add(TreeSet.java:255)

      at oracle.dbtools.parser.ParseNode.children(ParseNode.java:347)

      at oracle.dbtools.parser.plsql.LazyNode.children(LazyNode.java:35)

      at oracle.dbtools.parser.ParseNode.childAt(ParseNode.java:130)

      at oracle.dbtools.parser.plsql.LazyNode.childAt(LazyNode.java:47)

      at oracle.dbtools.parser.ParseNode.parent(ParseNode.java:121)

      at oracle.dbtools.parser.plsql.LazyNode.isControlStmt(LazyNode.java:175)

      at oracle.dbtools.parser.plsql.LazyNode.isStmt(LazyNode.java:196)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:126)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:168)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:168)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.stateChanged(PlSqlFoldingModel.java:342)

      at oracle.dbtools.raptor.plsql.BackgroundParser.parse(BackgroundParser.java:199)

      - locked <0x00000000d289e950> (a oracle.dbtools.raptor.plsql.BackgroundParser)

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

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

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

     

    A few minutes later:

     

    "Background Parser" prio=6 tid=0x000000001101c000 nid=0x166c runnable [0x000000000a6be000]

       java.lang.Thread.State: RUNNABLE

      at oracle.dbtools.parser.ParseNode.childAt(ParseNode.java:132)

      at oracle.dbtools.parser.plsql.LazyNode.childAt(LazyNode.java:47)

      at oracle.dbtools.parser.ParseNode.parent(ParseNode.java:121)

      at oracle.dbtools.parser.plsql.LazyNode.isControlStmt(LazyNode.java:175)

      at oracle.dbtools.parser.plsql.LazyNode.isStmt(LazyNode.java:196)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:126)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:168)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:168)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.stateChanged(PlSqlFoldingModel.java:342)

      at oracle.dbtools.raptor.plsql.BackgroundParser.parse(BackgroundParser.java:199)

      - locked <0x00000000d289e950> (a oracle.dbtools.raptor.plsql.BackgroundParser)

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

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

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

     

    And again:

    "Background Parser" prio=6 tid=0x000000001101c000 nid=0x166c runnable [0x000000000a6be000]

       java.lang.Thread.State: RUNNABLE

      at java.util.TreeMap.put(TreeMap.java:567)

      at java.util.TreeSet.add(TreeSet.java:255)

      at oracle.dbtools.parser.ParseNode.children(ParseNode.java:347)

      at oracle.dbtools.parser.plsql.LazyNode.children(LazyNode.java:35)

      at oracle.dbtools.parser.ParseNode.childAt(ParseNode.java:130)

      at oracle.dbtools.parser.plsql.LazyNode.childAt(LazyNode.java:47)

      at oracle.dbtools.parser.ParseNode.parent(ParseNode.java:121)

      at oracle.dbtools.parser.plsql.LazyNode.isControlStmt(LazyNode.java:175)

      at oracle.dbtools.parser.plsql.LazyNode.isStmt(LazyNode.java:196)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:126)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.walkParseTree(PlSqlFoldingModel.java:168)

      at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.stateChanged(PlSqlFoldingModel.java:342)

      at oracle.dbtools.raptor.plsql.BackgroundParser.parse(BackgroundParser.java:199)

      - locked <0x00000000d289e950> (a oracle.dbtools.raptor.plsql.BackgroundParser)

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

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

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

     

    SQL Developer has only been up for a 30 mins or so, but I did load and run a large generated file of inserts (50K lines). However once it has got into this state it never terminates..

  • 3. Re: SQL Developer 4 12.84 Burns CPU
    ro*415766*on Newbie
    Currently Being Moderated

    I'm having the same symptom without even connecting to Oracle. I'm just working on code. I'm running on Mac OS 10.8.5. I've seen SQL Developer over 400% CPU. I can't exit it. I have to force-quit.

  • 4. Re: SQL Developer 4 12.84 Burns CPU
    Gary Graham Expert
    Currently Being Moderated

    It seems there are always changes with each release (even incremental Early Adopter releases) in the parser area, both in terms of new functionality and fixes.  So if you are talking 4.0 EA2, perhaps this behavior changed in EA3, and will definitely change for production.  Here is another discussion that may apply:

    SQL Developer 4.0EA3 background tasks

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points