Bug 295573 - IDE Hangs on paste from one java file to another
Summary: IDE Hangs on paste from one java file to another
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2009-11-19 06:34 EST by Mark Hagan CLA
Modified: 2009-12-02 08:05 EST (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 Mark Hagan CLA 2009-11-19 06:34:00 EST
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Build Identifier: M20090917-0800

Copy and Paste has been working fine. However, for some reason I start to experience hangs and when the start occuring they occur continuously. Obviously I suspect something on my specific environment but can't tell what it would be. The only way to resolve is to kill eclipse and restart. 

My system information:-
=======================
- Windows XP SP3
- Intel 2 CPU 6400 @2.13GHz. 1.99 GB RAM

eclipse.ini:-
=============
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx768m
-Dj2ee_container=weblogic

Below is a collection of 3 thread dumps a few minutes apart. This hang will last for hours if I let it.

First thread dump:-
===================
2009-11-19 06:11:18
Full thread dump Java HotSpot(TM) Client VM (11.0-b15 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x44f40c00 nid=0x11b8 in Object.wait() [0x4a88f000..0x4a88fd14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-5" prio=6 tid=0x46884800 nid=0x19d4 in Object.wait() [0x47b2f000..0x47b2fc94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-4" prio=6 tid=0x46899c00 nid=0x12e0 runnable [0x47adf000..0x47adfd14]
   java.lang.Thread.State: RUNNABLE
        at java.util.Arrays.copyOf(Arrays.java:2882)
        at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:572)
        at java.lang.StringBuffer.append(StringBuffer.java:320)
        - locked <0x03840000> (a java.lang.StringBuffer)
        at java.text.MessageFormat.applyPattern(MessageFormat.java:436)
        at java.text.MessageFormat.<init>(MessageFormat.java:350)
        at java.text.MessageFormat.format(MessageFormat.java:811)
        at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:392)
        at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:381)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1$ProgressJob.run(JobManager.java:346)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-3" prio=6 tid=0x46874800 nid=0x148c in Object.wait() [0x47a8f000..0x47a8fd94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-1" prio=6 tid=0x46881c00 nid=0x19f0 waiting on condition [0x479ef000..0x479efa94]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0c27ad00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.getQueuedEvent(UsageDataService.java:221)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.access$0(UsageDataService.java:219)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService$1.run(UsageDataService.java:157)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x462f6800 nid=0x1b24 in Object.wait() [0x4719f000..0x4719fb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x463c7400 nid=0x1760 in Object.wait() [0x4700f000..0x4700fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
        - locked <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"Java indexing" daemon prio=6 tid=0x45302800 nid=0x12dc runnable [0x46f8f000..0x46f8fc94]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:199)
        at org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray(Util.java:320)
        at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsByteArray(Util.java:1113)
        at org.eclipse.jdt.internal.core.search.JavaSearchDocument.getByteContents(JavaSearchDocument.java:42)
        at org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.indexDocument(BinaryIndexer.java:617)
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:74)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:359)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:734)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:401)
        at java.lang.Thread.run(Thread.java:619)

"Bundle File Closer" daemon prio=6 tid=0x46254800 nid=0x1ce4 in Object.wait() [0x469df000..0x469dfd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Worker-0" prio=6 tid=0x44eb7400 nid=0x1960 in Object.wait() [0x45fdf000..0x45fdfa94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"[Timer] - Main Queue Handler" daemon prio=6 tid=0x451a6400 nid=0x6e8 in Object.wait() [0x457cf000..0x457cfb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06914a18> (a java.lang.Object)
        at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
        - locked <0x06914a18> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:619)

"Framework Event Dispatcher" daemon prio=6 tid=0x450ed000 nid=0x129c in Object.wait() [0x4572f000..0x4572fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Start Level Event Dispatcher" daemon prio=6 tid=0x45107400 nid=0x12e8 in Object.wait() [0x4563f000..0x4563fc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"State Data Manager" daemon prio=6 tid=0x450b0400 nid=0xc08 waiting on condition [0x455ef000..0x455efd14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
        at java.lang.Thread.run(Thread.java:619)

"OSGi Console" prio=6 tid=0x45096800 nid=0xac4 runnable [0x4559f000..0x4559fd94]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:309)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
        - locked <0x067d8cd8> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        - locked <0x067d8cd8> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:276)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:224)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x44b66000 nid=0x1360 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x44b62400 nid=0x15bc waiting on condition [0x00000000..0x44daf7bc]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x44b5e400 nid=0x1198 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x44b5d000 nid=0x12a8 waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x44b4d400 nid=0x15d0 in Object.wait() [0x44cbf000..0x44cbfc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x44b48800 nid=0x1448 in Object.wait() [0x44c6f000..0x44c6fd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd0f0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x065fd0f0> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x003b7c00 nid=0x1d40 waiting on condition [0x00a0e000..0x00a0fe5c]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:258)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1366)
        at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:861)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.evaluateStarImportConflicts(ImportRewriteAnalyzer.java:705)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.getResultingEdits(ImportRewriteAnalyzer.java:515)
        at org.eclipse.jdt.core.dom.rewrite.ImportRewrite.rewriteImports(ImportRewrite.java:1000)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.addImports(ClipboardOperationAction.java:526)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doPasteWithImportsOperation(ClipboardOperationAction.java:492)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:287)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:258)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:256)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
        at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
        at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
        at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
        at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053)
        at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946)
        at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2410)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        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:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        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:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

"VM Thread" prio=10 tid=0x44b45000 nid=0x16e0 runnable

"VM Periodic Task Thread" prio=10 tid=0x44b68400 nid=0xb10 waiting on condition

JNI global references: 1526

Heap
 def new generation   total 15552K, used 1810K [0x02ac0000, 0x03ba0000, 0x065d0000)
  eden space 13824K,   3% used [0x02ac0000, 0x02b2b360, 0x03840000)
  from space 1728K,  79% used [0x03840000, 0x039996f0, 0x039f0000)
  to   space 1728K,   0% used [0x039f0000, 0x039f0000, 0x03ba0000)
 tenured generation   total 206384K, used 143083K [0x065d0000, 0x12f5c000, 0x32ac0000)
   the space 206384K,  69% used [0x065d0000, 0x0f18ace8, 0x0f18ae00, 0x12f5c000)
 compacting perm gen  total 46592K, used 46496K [0x32ac0000, 0x35840000, 0x42ac0000)
   the space 46592K,  99% used [0x32ac0000, 0x358280c8, 0x35828200, 0x35840000)
No shared spaces configured.

Second threaddump:-
===================
2009-11-19 06:15:44
Full thread dump Java HotSpot(TM) Client VM (11.0-b15 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x44f40c00 nid=0x11b8 in Object.wait() [0x4a88f000..0x4a88fd14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-5" prio=6 tid=0x46884800 nid=0x19d4 in Object.wait() [0x47b2f000..0x47b2fc94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-4" prio=6 tid=0x46899c00 nid=0x12e0 waiting on condition [0x47adf000..0x47adfd14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1$ProgressJob.run(JobManager.java:351)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-1" prio=6 tid=0x46881c00 nid=0x19f0 waiting on condition [0x479ef000..0x479efa94]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0c27ad00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.getQueuedEvent(UsageDataService.java:221)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.access$0(UsageDataService.java:219)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService$1.run(UsageDataService.java:157)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x462f6800 nid=0x1b24 in Object.wait() [0x4719f000..0x4719fb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x463c7400 nid=0x1760 in Object.wait() [0x4700f000..0x4700fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
        - locked <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"Java indexing" daemon prio=6 tid=0x45302800 nid=0x12dc runnable [0x46f8f000..0x46f8fc94]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:357)
        at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:667)
        at org.eclipse.core.internal.resources.File.getContents(File.java:288)
        at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsByteArray(Util.java:1108)
        at org.eclipse.jdt.internal.core.search.JavaSearchDocument.getByteContents(JavaSearchDocument.java:42)
        at org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.indexDocument(BinaryIndexer.java:617)
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:74)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:359)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:734)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:401)
        at java.lang.Thread.run(Thread.java:619)

"Bundle File Closer" daemon prio=6 tid=0x46254800 nid=0x1ce4 in Object.wait() [0x469df000..0x469dfd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Worker-0" prio=6 tid=0x44eb7400 nid=0x1960 in Object.wait() [0x45fdf000..0x45fdfa94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"[Timer] - Main Queue Handler" daemon prio=6 tid=0x451a6400 nid=0x6e8 in Object.wait() [0x457cf000..0x457cfb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06914a18> (a java.lang.Object)
        at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
        - locked <0x06914a18> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:619)

"Framework Event Dispatcher" daemon prio=6 tid=0x450ed000 nid=0x129c in Object.wait() [0x4572f000..0x4572fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Start Level Event Dispatcher" daemon prio=6 tid=0x45107400 nid=0x12e8 in Object.wait() [0x4563f000..0x4563fc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"State Data Manager" daemon prio=6 tid=0x450b0400 nid=0xc08 waiting on condition [0x455ef000..0x455efd14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x44b66000 nid=0x1360 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x44b62400 nid=0x15bc waiting on condition [0x00000000..0x44daf7bc]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x44b5e400 nid=0x1198 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x44b5d000 nid=0x12a8 waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x44b4d400 nid=0x15d0 in Object.wait() [0x44cbf000..0x44cbfc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x44b48800 nid=0x1448 in Object.wait() [0x44c6f000..0x44c6fd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd0f0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x065fd0f0> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x003b7c00 nid=0x1d40 waiting on condition [0x00a0e000..0x00a0fe5c]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:258)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1366)
        at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:861)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.evaluateStarImportConflicts(ImportRewriteAnalyzer.java:705)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.getResultingEdits(ImportRewriteAnalyzer.java:515)
        at org.eclipse.jdt.core.dom.rewrite.ImportRewrite.rewriteImports(ImportRewrite.java:1000)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.addImports(ClipboardOperationAction.java:526)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doPasteWithImportsOperation(ClipboardOperationAction.java:492)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:287)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:258)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:256)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
        at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
        at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
        at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
        at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053)
        at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946)
        at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2410)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        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:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        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:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

"VM Thread" prio=10 tid=0x44b45000 nid=0x16e0 runnable

"VM Periodic Task Thread" prio=10 tid=0x44b68400 nid=0xb10 waiting on condition

JNI global references: 1530

Heap
 def new generation   total 15552K, used 13749K [0x02ac0000, 0x03ba0000, 0x065d0000)
  eden space 13824K,  90% used [0x02ac0000, 0x036f3c50, 0x03840000)
  from space 1728K,  72% used [0x039f0000, 0x03b29930, 0x03ba0000)
  to   space 1728K,   0% used [0x03840000, 0x03840000, 0x039f0000)
 tenured generation   total 206384K, used 176845K [0x065d0000, 0x12f5c000, 0x32ac0000)
   the space 206384K,  85% used [0x065d0000, 0x11283400, 0x11283400, 0x12f5c000)
 compacting perm gen  total 46592K, used 46496K [0x32ac0000, 0x35840000, 0x42ac0000)
   the space 46592K,  99% used [0x32ac0000, 0x35828220, 0x35828400, 0x35840000)
No shared spaces configured.

Third threaddump:-
==================
2009-11-19 06:21:38
Full thread dump Java HotSpot(TM) Client VM (11.0-b15 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x44f40c00 nid=0x11b8 in Object.wait() [0x4a88f000..0x4a88fd14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0debdb20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-5" prio=6 tid=0x46884800 nid=0x19d4 in Object.wait() [0x47b2f000..0x47b2fc94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-4" prio=6 tid=0x46899c00 nid=0x12e0 waiting on condition [0x47adf000..0x47adfd14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1$ProgressJob.run(JobManager.java:351)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-1" prio=6 tid=0x46881c00 nid=0x19f0 waiting on condition [0x479ef000..0x479efa94]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0c27ad00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.getQueuedEvent(UsageDataService.java:221)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService.access$0(UsageDataService.java:219)
        at org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService$1.run(UsageDataService.java:157)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x462f6800 nid=0x1b24 in Object.wait() [0x4719f000..0x4719fb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
        - locked <0x0bbcfb78> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x463c7400 nid=0x1760 in Object.wait() [0x4700f000..0x4700fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
        - locked <0x0bbcfb88> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"Java indexing" daemon prio=6 tid=0x45302800 nid=0x12dc runnable [0x46f8f000..0x46f8fc94]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:357)
        at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:667)
        at org.eclipse.core.internal.resources.File.getContents(File.java:288)
        at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsByteArray(Util.java:1108)
        at org.eclipse.jdt.internal.core.search.JavaSearchDocument.getByteContents(JavaSearchDocument.java:42)
        at org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.indexDocument(BinaryIndexer.java:617)
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:74)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:359)
        at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:734)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:401)
        at java.lang.Thread.run(Thread.java:619)

"Bundle File Closer" daemon prio=6 tid=0x46254800 nid=0x1ce4 in Object.wait() [0x469df000..0x469dfd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x0b8544d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Worker-0" prio=6 tid=0x44eb7400 nid=0x1960 in Object.wait() [0x45fdf000..0x45fdfa94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x068cccf0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"[Timer] - Main Queue Handler" daemon prio=6 tid=0x451a6400 nid=0x6e8 in Object.wait() [0x457cf000..0x457cfb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06914a18> (a java.lang.Object)
        at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
        - locked <0x06914a18> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:619)

"Framework Event Dispatcher" daemon prio=6 tid=0x450ed000 nid=0x129c in Object.wait() [0x4572f000..0x4572fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06830050> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Start Level Event Dispatcher" daemon prio=6 tid=0x45107400 nid=0x12e8 in Object.wait() [0x4563f000..0x4563fc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:393)
        - locked <0x06828b28> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"State Data Manager" daemon prio=6 tid=0x450b0400 nid=0xc08 waiting on condition [0x455ef000..0x455efd14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x44b66000 nid=0x1360 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x44b62400 nid=0x15bc waiting on condition [0x00000000..0x44daf7bc]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x44b5e400 nid=0x1198 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x44b5d000 nid=0x12a8 waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x44b4d400 nid=0x15d0 in Object.wait() [0x44cbf000..0x44cbfc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x065fd068> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x44b48800 nid=0x1448 in Object.wait() [0x44c6f000..0x44c6fd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x065fd0f0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x065fd0f0> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x003b7c00 nid=0x1d40 waiting on condition [0x00a0e000..0x00a0fe5c]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:258)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1366)
        at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:861)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.evaluateStarImportConflicts(ImportRewriteAnalyzer.java:705)
        at org.eclipse.jdt.internal.core.dom.rewrite.ImportRewriteAnalyzer.getResultingEdits(ImportRewriteAnalyzer.java:515)
        at org.eclipse.jdt.core.dom.rewrite.ImportRewrite.rewriteImports(ImportRewrite.java:1000)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.addImports(ClipboardOperationAction.java:526)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doPasteWithImportsOperation(ClipboardOperationAction.java:492)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:287)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:258)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:256)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
        at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
        at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
        at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
        at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053)
        at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946)
        at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2410)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        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:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        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:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

"VM Thread" prio=10 tid=0x44b45000 nid=0x16e0 runnable

"VM Periodic Task Thread" prio=10 tid=0x44b68400 nid=0xb10 waiting on condition

JNI global references: 1533

Heap
 def new generation   total 15552K, used 2631K [0x02ac0000, 0x03ba0000, 0x065d0000)
  eden space 13824K,  10% used [0x02ac0000, 0x02c227f8, 0x03840000)
  from space 1728K,  70% used [0x03840000, 0x0396f780, 0x039f0000)
  to   space 1728K,   0% used [0x039f0000, 0x039f0000, 0x03ba0000)
 tenured generation   total 206384K, used 198178K [0x065d0000, 0x12f5c000, 0x32ac0000)
   the space 206384K,  96% used [0x065d0000, 0x12758920, 0x12758a00, 0x12f5c000)
 compacting perm gen  total 46592K, used 46497K [0x32ac0000, 0x35840000, 0x42ac0000)
   the space 46592K,  99% used [0x32ac0000, 0x35828588, 0x35828600, 0x35840000)
No shared spaces configured.


Reproducible: Always

Steps to Reproduce:
1.Select java code from one java file (may be significant if it contains variables that are undefined yet in target source
2.Paste in target java source
3.Hang
Comment 1 Mark Hagan CLA 2009-11-19 06:47:14 EST
Well, I don't quite believe this. I've been putting up with this for days and finally got up the courage to enter my first bug and while writing it up and capturing the thread dumps, the paste example decided to complete.

Hopefully, though, you can still see that there is some issue in that a simple 3 line paste took > 4 minutes but my example here is not a true example of the real hang I experience when eclipse does die.

For now I would understand if you decide not to look into this at all and would prefer to wait for me to add the juicy example but would nevertheless appreciate any tips in helping me identify what is going wrong when it occurs again

Mark
Comment 2 Mark Hagan CLA 2009-11-19 07:52:45 EST
It may be relevant that around the same time I got an error in the Java Editor Content Assist Java Proposal, which I have now turned off although would like to have them available!

!MESSAGE The 'org.eclipse.jdt.ui.JavaAllCompletionProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation.
Comment 3 Dani Megert CLA 2009-12-01 03:40:42 EST
> However, for some reason I start to
>experience hangs and when the start occuring they occur continuously. 
What do you mean by "hang"? It takes a while and then works or you have to kill the process? Looking at the stack trace it looks like the Java indexer is not done and because you have enabled that copy/paste updates the imports it needs to wait for the indexer to be done.
Comment 4 Mark Hagan CLA 2009-12-02 07:26:23 EST
In response to:
> What do you mean by "hang"? It takes a while and then works or you have to kill
> the process? Looking at the stack trace it looks like the Java indexer is not
> done and because you have enabled that copy/paste updates the imports it needs
> to wait for the indexer to be done.

That may well be it. We have a large number of java classes (> 50K) so it may be that it has been indexing in the background for a while. It seems to have stabilised now and so I'm happy for the moment. If it happens again I'll try and capture more information specifically on the use case around that time. It would be good if we could identify any volume/performance related issue as this is one area where eclipse is, far now at least, ahead of other IDEs.
Comment 5 Dani Megert CLA 2009-12-02 08:05:44 EST
Marking as WORKSFORME for now. If you see it again, you can open the Open Type dialog: if it's the indexer then that dialog should indicate that it's indexing.

Also, if the problem bugs you, you can disable:
Java > Editor > Typing > [ ]Update imports