Community
Participate
Working Groups
I had added an interface to a class, so I right clicked on the class in the outliner and selected "Override/Implement methods...". The new interface method was checked, so I clicked OK. Eclipse locked up. Here's what I got from Ctrl-Break Full thread dump: "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0xa2bae20 nid=0x638 waiting on monitor [0xb26f000..0xb26fdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:415) at org.eclipse.core.internal.utils.Semaphore.acquire(Semaphore.java:24) at org.eclipse.core.resources.WorkspaceLock.acquire(WorkspaceLock.java:49) at org.eclipse.ui.internal.UIWorkspaceLock.acquire(UIWorkspaceLock.java:40) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:80) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1551) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1586) at org.eclipse.jdt.internal.core.JavaElement.runOperation(JavaElement.java:556) at org.eclipse.jdt.internal.core.WorkingCopy.reconcile(WorkingCopy.java:415) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:72) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:99) at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:189) "Snapshot" prio=5 tid=0xa378b30 nid=0x4dc waiting on monitor [0xb22f000..0xb22fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run(DelayedSnapshotRunnable.java:38) at java.lang.Thread.run(Thread.java:479) "org.eclipse.pde.internal.ui.editor.manifest.NotifyingReconciler" daemon prio=2 tid=0x8fd7628 nid=0x5e0 waiting on monitor [0xb07f000..0xb07fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0xa275f10 nid=0x528 waiting on monitor [0xaf9f000..0xaf9fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0xa266170 nid=0x518 waiting on monitor [0xaf4f000..0xaf4fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0xa28b008 nid=0x41c waiting on monitor [0xaecf000..0xaecfdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x8f23ca8 nid=0x5cc waiting on monitor [0xae8f000..0xae8fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x903b940 nid=0x298 waiting on monitor [0xae3f000..0xae3fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x8fa7830 nid=0x600 waiting on monitor [0xa22f000..0xa22fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) "Decoration" prio=2 tid=0x8f95c10 nid=0x264 waiting on monitor [0x9c0f000..0x9c0fdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:415) at org.eclipse.ui.internal.decorators.DecorationScheduler.next(DecorationScheduler.java:244) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run(DecorationScheduler.java:270) at java.lang.Thread.run(Thread.java:479) "Java indexing" daemon prio=4 tid=0x8b1cab8 nid=0x25c waiting on monitor [0x98ff000..0x98ffdbc] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:334) at java.lang.Thread.run(Thread.java:479) "Signal Dispatcher" daemon prio=10 tid=0x801ec0 nid=0x660 waiting on monitor [0..0] "Finalizer" daemon prio=9 tid=0x7fdf18 nid=0x644 waiting on monitor [0x8c4f000..0x8c4fdbc] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:103) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:157) "Reference Handler" daemon prio=10 tid=0x7fca68 nid=0x648 waiting on monitor [0x8c0f000..0x8c0fdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:415) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:105) "main" prio=5 tid=0x234a80 nid=0x668 waiting for monitor entry [0x6f000..0x6fc34] at org.eclipse.jdt.internal.corext.codemanipulation.ImportsStructure.getReplaceRange(ImportsStructure.java:559) at org.eclipse.jdt.internal.corext.codemanipulation.ImportsStructure.create(ImportsStructure.java:519) at org.eclipse.jdt.internal.corext.codemanipulation.AddUnimplementedMethodsOperation.run(AddUnimplementedMethodsOperation.java:79) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOperation.java:356) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:684) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2634) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:32) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.internalRun(BusyIndicatorRunnableContext.java:107) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.run(BusyIndicatorRunnableContext.java:74) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run(BusyIndicatorRunnableContext.java:120) at org.eclipse.jdt.ui.actions.OverrideMethodsAction.run(OverrideMethodsAction.java:175) at org.eclipse.jdt.ui.actions.OverrideMethodsAction.run(OverrideMethodsAction.java:132) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:191) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:169) at org.eclipse.jface.action.Action.runWithEvent(Action.java:804) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:450) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(ActionContributionItem.java:398) at org.eclipse.jface.action.ActionContributionItem.access$0(ActionContributionItem.java:392) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java:72) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1288) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1271) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539) "VM Thread" prio=5 tid=0x89900b0 nid=0x650 runnable "VM Periodic Task Thread" prio=10 tid=0x800b68 nid=0x1ac waiting on monitor "Suspend Checker Thread" prio=10 tid=0x801500 nid=0x654 runnable
NOTE: I can reproduce this. My test case is as follows: Import the org.eclipse.pde.junit plugin (from the jdt ui page) as source. Since the plugin is packaged with source in a jar (instead of a zip), pde gets confused and you have to import the source yourself. Create a source folder in the org.eclipse.pde.junit project. Import the source files from the jar into this folder. Open JUnitPdePlugin and add IStartup as an interface. Save and then right click on the JUnitPdePlugin in the class. Select "Override/Implement methods...", click the OK button. Eclipse locks.
Created attachment 3532 [details] config.txt Attached config info. Summary: VM: Sun JDK1.3.1 Build id: 200302141436
*** This bug has been marked as a duplicate of 31891 ***