Community
Participate
Working Groups
After using eclipse for a few hours to edit java code (nothing fancy, just using the editor, no plugins used that I know of), it will start chewing up 100% CPU. This is on Mac OSX 10.4.6. I have 3G of RAM and gave -Xmx768m. Looking at the gc logs, there is nothing abnormal going on there and it is still at the -Xms size. I noticed that I don't even have to be doing anything other than moving the mouse around over the text area of the window. Here is a thread dump while it is sucking up cpu: Full thread dump Java HotSpot(TM) Client VM (1.4.2-54 mixed mode): "Worker-34" prio=5 tid=0x471257d0 nid=0x46325a00 in Object.wait() [f0d9a000..f0d9aaa0] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173) - locked <0xb48ac58> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43e31c90 nid=0x47a57000 in Object.wait() [f0e9c000..f0e9caa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xea2b6f8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x47123c50 nid=0x434df800 in Object.wait() [f0e1b000..f0e1baa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xe8fcb18> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-24" prio=5 tid=0x43efab60 nid=0x43307a00 in Object.wait() [f068c000..f068caa0] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173) - locked <0xb48ac58> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43efcca0 nid=0x467b8600 in Object.wait() [f078e000..f078eaa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xdf48528> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43ef6290 nid=0x4632d600 in Object.wait() [f0c17000..f0c17aa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xdedcd98> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43ee4500 nid=0x1808c00 in Object.wait() [f0a94000..f0a94aa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xdb15630> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43ed9480 nid=0x1d38600 in Object.wait() [f0407000..f0407aa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xd95f8e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x43e3bed0 nid=0x4337cc00 in Object.wait() [f0992000..f0992aa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xcabdcb8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x0057b740 nid=0x1d38a00 in Object.wait() [f080f000..f080faa0] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176) - locked <0xbcfc550> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x0055b3c0 nid=0x1c73400 in Object.wait() [f070d000..f070daa0] at java.lang.Object.wait(Native Method) - waiting on <0xbb2b0b8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349) - locked <0xbb2b0b8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:552) "Start Level Event Dispatcher" daemon prio=5 tid=0x00518fe0 nid=0x1928000 in Object.wait() [f058a000..f058aaa0] at java.lang.Object.wait(Native Method) - waiting on <0xb76ec58> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349) - locked <0xb76ec58> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287) "Framework Event Dispatcher" daemon prio=5 tid=0x00518430 nid=0x18dd000 in Object.wait() [f0509000..f0509aa0] at java.lang.Object.wait(Native Method) - waiting on <0xb76eca8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349) - locked <0xb76eca8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287) "State Data Manager" daemon prio=5 tid=0x00516090 nid=0x189e200 waiting on condition [f0488000..f0488aa0] at java.lang.Thread.sleep(Native Method) at org.eclipse.osgi.framework.adaptor.core.StateManager.run(StateManager.java:289) at java.lang.Thread.run(Thread.java:552) "Signal Dispatcher" daemon prio=10 tid=0x00508390 nid=0x181da00 waiting on condition [0..0] "Finalizer" daemon prio=8 tid=0x005069d0 nid=0x1811c00 in Object.wait() [f0203000..f0203aa0] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0xb76eed8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x005066a0 nid=0x180d800 in Object.wait() [f0182000..f0182aa0] at java.lang.Object.wait(Native Method) - waiting on <0xb76ef40> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0xb76ef40> (a java.lang.ref.Reference$Lock) "main" prio=6 tid=0x00500e10 nid=0xa000ed98 runnable [bfffd000..bfffe988] at org.eclipse.swt.internal.carbon.OS.ReceiveNextEvent(Native Method) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2677) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) "VM Thread" prio=5 tid=0x00505f20 nid=0x1804e00 runnable "VM Periodic Task Thread" prio=10 tid=0x00508330 nid=0x181d600 waiting on condition "Exception Catcher Thread" prio=10 tid=0x00500f70 nid=0x1804a00 runnable
Could you please try a more up-to-date version of Eclipse? E.g. in 3.1.2 and 3.2 some bugs have been fixed in this area.
.
I tried 3.2 and agree that it no longer happens.
Get rid of deprecated state.