Community
Participate
Working Groups
I20040602 - Memory usage was up > 500MByte due to some other bug - Resolving an import hung eclipse, dump follows - Why AddImportOnSelectionAction.findAllTypes does not use the AllTypesCache is another issue I will log with JDT UI. "VM Periodic Task Thread" prio=1 tid=0x0808fb00 nid=0x26fc waiting on condition "Suspend Checker Thread" prio=1 tid=0x0808c920 nid=0x26fc runnable ^[[6~^[[6~^[[6~Full thread dump Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode): "All Types Caching" prio=1 tid=0x186dc5f0 nid=0x26fc waiting on condition [5b13f000..5b13f854] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:243) at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:867) at org.eclipse.jdt.internal.corext.util.AllTypesCache.search(AllTypesCache.java:526) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.doSearchTypes(AllTypesCache.java:197) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.run(AllTypesCache.java:166) "Worker-168" prio=1 tid=0x08e6da88 nid=0x26fc in Object.wait() [5b743000..5b743854] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209) - locked <0x45eb2218> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:236) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08cb8cd0 nid=0x26fc in Object.wait() [5b8c6000..5b8c6854] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:172) - locked <0x49028ac0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x0905cd60 nid=0x26fc in Object.wait() [5b845000..5b845854] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:172) - locked <0x49028b20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x09067df0 nid=0x26fc in Object.wait() [5bb82000..5bb82854] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:172) - locked <0x48d58b20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.debug: JDI Event Dispatcher" prio=1 tid=0x08ead1f8 nid=0x26fc in Object.wait() [59e92000..59e92854] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable(PacketReceiveManager.java:168) at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand(PacketReceiveManager.java:93) - locked <0x488dcb10> (a org.eclipse.jdi.internal.connect.PacketReceiveManager) at org.eclipse.jdi.internal.MirrorImpl.getCommandVM(MirrorImpl.java:276) at org.eclipse.jdi.internal.event.EventQueueImpl.remove(EventQueueImpl.java:63) at org.eclipse.jdi.internal.event.EventQueueImpl.remove(EventQueueImpl.java:48) at org.eclipse.jdt.internal.debug.core.EventDispatcher.run(EventDispatcher.java:213) at java.lang.Thread.run(Thread.java:534) "Packet Send Manager" prio=1 tid=0x08f15228 nid=0x26fc in Object.wait() [5b1c0000..5b1c0854] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets(PacketSendManager.java:94) - locked <0x488dcc58> (a org.eclipse.jdi.internal.connect.PacketSendManager) at org.eclipse.jdi.internal.connect.PacketSendManager.run(PacketSendManager.java:54) at java.lang.Thread.run(Thread.java:534) "Console Polling Thread" prio=1 tid=0x5b9e0208 nid=0x26fc waiting on condition [5aac3000..5aac3854] at java.lang.Thread.sleep(Native Method) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndSleep(ConsoleDocumentPartitioner.java:565) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run(ConsoleDocumentPartitioner.java:549) at java.lang.Thread.run(Thread.java:534) "Input Stream Monitor" prio=1 tid=0x08fb8858 nid=0x26fc in Object.wait() [5b0be000..5b0be854] at java.lang.Object.wait(Native Method) - waiting on <0x488dcde8> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext(InputStreamMonitor.java:124) - locked <0x488dcde8> (a java.lang.Object) at org.eclipse.debug.internal.core.InputStreamMonitor.write(InputStreamMonitor.java:99) at org.eclipse.debug.internal.core.InputStreamMonitor$1.run(InputStreamMonitor.java:75) at java.lang.Thread.run(Thread.java:534) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x5addc6b0 nid=0x26fc in Object.wait() [5b343000..5b343854] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:172) - locked <0x4829eb88> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b69530 nid=0x26fc in Object.wait() [59fe0000..59fe0854] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:172) - locked <0x47a4d4b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-12" prio=1 tid=0x5ad7b0a0 nid=0x26fc in Object.wait() [5a061000..5a061854] at java.lang.Object.wait(Native Method) - waiting on <0x488dcf38> (a java.lang.UNIXProcess) at java.lang.Object.wait(Object.java:429) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160) - locked <0x488dcf38> (a java.lang.UNIXProcess) at org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run(RuntimeProcess.java:362) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66) "Java indexing" daemon prio=1 tid=0x085572a0 nid=0x26fc in Object.wait() [59e11000..59e11854] at java.lang.Object.wait(Native Method) - waiting on <0x46a13cb8> (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:344) - locked <0x46a13cb8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Reference Cleaner - 2" prio=1 tid=0x08246528 nid=0x26fc in Object.wait() [598f4000..598f4854] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x46426b08> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) "Reference Cleaner - 1" prio=1 tid=0x08246da8 nid=0x26fc in Object.wait() [59873000..59873854] at java.lang.Object.wait(Native Method) - waiting on <0x46426b78> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x46426b78> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) "Start Level Event Dispatcher" daemon prio=1 tid=0x08148c70 nid=0x26fc in Object.wait() [58a93000..58a93854] at java.lang.Object.wait(Native Method) - waiting on <0x45a70060> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x45a70060> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "Framework Event Dispatcher" daemon prio=1 tid=0x08141a80 nid=0x26fc in Object.wait() [58a12000..58a12854] at java.lang.Object.wait(Native Method) - waiting on <0x45a70240> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x45a70240> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "Signal Dispatcher" daemon prio=1 tid=0x0808d2f0 nid=0x26fc waiting on condition [0..0] "Finalizer" daemon prio=1 tid=0x080886c0 nid=0x26fc in Object.wait() [583f5000..583f5854] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x45a70368> (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=1 tid=0x08087ad0 nid=0x26fc in Object.wait() [58374000..58374854] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x45a700b0> (a java.lang.ref.Reference$Lock) "main" prio=1 tid=0x080522f8 nid=0x26fc waiting on condition [bfffa000..bfffc6b8] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:243) at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:867) at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.findAllTypes(AddImportOnSelectionAction.java:231) at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.run(AddImportOnSelectionAction.java:137) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141) at org.eclipse.ui.internal.commands.Command.execute(Command.java:132) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:469) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:887) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:928) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:546) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard.java:494) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent(WorkbenchKeyboard.java:259) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:949) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:943) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:968) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:953) at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:2304) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1800) at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:439) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1194) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3012) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Native Method) at org.eclipse.swt.widgets.Display.eventProc(Display.java:815) at org.eclipse.swt.internal.gtk.OS.gtk_main_iteration(Native Method) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2222) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:253) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:334) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:128) 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.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:638) at org.eclipse.core.launcher.Main.main(Main.java:622) "VM Thread" prio=1 tid=0x080867b0 nid=0x26fc runnable "VM Periodic Task Thread" prio=1 tid=0x0808fb00 nid=0x26fc waiting on condition "Suspend Checker Thread" prio=1 tid=0x0808c920 nid=0x26fc runnable
adding dirk
Tom, do you hav anything in the .log related to Java indexing ?
no.
Created attachment 11658 [details] reformated thread dump
Dump indicates that "main" and "all types caching" are waiting on indexing activity to complete (active wait until ready to proceed). However indexer claims it is idle. "Java indexing" daemon prio=1 tid=0x085572a0 nid=0x26fc in Object.wait() at java.lang.Object.wait(Native Method) - waiting on <0x46a13cb8> (a ...IndexManager) at java.lang.Object.wait(Object.java:429) at ...JobManager.run(JobManager.java:344) - locked <0x46a13cb8> (a ...IndexManager) at java.lang.Thread.run(Thread.java:534) Offending line in JobManager (344) is: this.wait(); // wait until a new job is posted (or reenabled:38901) Looks like the indexer became inconsistent, and got fooled into thinking it had more jobs to execute, though the list is empty.
Tom - do you have steps to reproduce ?
See also bug 64646
no steps, sorry.
dup *** This bug has been marked as a duplicate of 64646 ***