Bug 136888 - after using eclipse for a few hours to edit java code, it starts chewing up 100% cpu
Summary: after using eclipse for a few hours to edit java code, it starts chewing up 1...
Status: RESOLVED INVALID
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.1.1   Edit
Hardware: Power PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2006-04-14 18:13 EDT by David Koski CLA
Modified: 2007-06-22 10:04 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Koski CLA 2006-04-14 18:13:41 EDT
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
Comment 1 Andre Weinand CLA 2006-04-16 09:36:54 EDT
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.
Comment 2 Dani Megert CLA 2006-04-17 15:01:17 EDT
.
Comment 3 David Koski CLA 2006-04-19 19:43:29 EDT
I tried 3.2 and agree that it no longer happens.
Comment 4 Dani Megert CLA 2007-06-22 09:59:31 EDT
Get rid of deprecated state.
Comment 5 Dani Megert CLA 2007-06-22 10:04:44 EDT
.