Summary: | [misc] Unable to delete Project: Eclipse freezes | ||
---|---|---|---|
Product: | [WebTools] JSDT | Reporter: | Stefan Holzknecht <s.holzknecht> |
Component: | General | Assignee: | Nitin Dahyabhai <thatnitind> |
Status: | RESOLVED WORKSFORME | QA Contact: | Nitin Dahyabhai <thatnitind> |
Severity: | major | ||
Priority: | P2 | CC: | berkland, cmjaun, david_williams, hfinster |
Version: | unspecified | Keywords: | needinfo |
Target Milestone: | Future | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Stefan Holzknecht
2008-12-11 06:04:03 EST
Stefan, is there any more information you can give, even fully qualified class named in your stack trace? It looks like the deadlock may involve more than these threads. Here a copy of the stack trace with all threads expanded. I do not see any other threads involved in the lock. org.eclipse.equinox.launcher.Main at localhost:2415 (Suspended) Daemon System Thread [Attach Listener] (Suspended) Daemon System Thread [Signal Dispatcher] (Suspended) Daemon System Thread [Finalizer] (Suspended) waiting for: ReferenceQueue$Lock (id=73) Object.wait(long) line: not available [native method] ReferenceQueue<T>.remove(long) line: 116 ReferenceQueue<T>.remove() line: 132 Finalizer$FinalizerThread.run() line: 159 Daemon System Thread [Reference Handler] (Suspended) waiting for: Reference$Lock (id=74) Object.wait(long) line: not available [native method] Reference$Lock(Object).wait() line: 485 Reference$ReferenceHandler.run() line: 116 Thread [main] (Suspended) owns: RunnableLock (id=67) waiting for: JavaModelManager$PerProjectInfo (id=66) JavaProject.resolveClasspath(JavaModelManager$PerProjectInfo) line: 2624 JavaProject.getResolvedClasspath() line: 1945 DeltaProcessor.deleting(IProject) line: 1002 DeltaProcessor.resourceChanged(IResourceChangeEvent) line: 1881 DeltaProcessingState.resourceChanged(IResourceChangeEvent) line: 389 NotificationManager$2.run() line: 288 SafeRunner.run(ISafeRunnable) line: 37 NotificationManager.notify(ResourceChangeListenerList$ListenerEntry[], IResourceChangeEvent, boolean) line: 282 NotificationManager.handleEvent(LifecycleEvent) line: 260 Workspace.broadcastEvent(LifecycleEvent) line: 307 Project(Resource).broadcastPreDeleteEvent() line: 1772 Project(Resource).delete(int, IProgressMonitor) line: 696 Project.delete(boolean, boolean, IProgressMonitor) line: 309 DeleteResourceChange.perform(IProgressMonitor) line: 131 CompositeChange.perform(IProgressMonitor) line: 278 ProcessorBasedRefactoring$ProcessorChange(CompositeChange).perform(IProgressMonitor) line: 278 PerformChangeOperation$1.run(IProgressMonitor) line: 260 Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1800 UIPerformChangeOperation(PerformChangeOperation).executeChange(IProgressMonitor) line: 308 UIPerformChangeOperation.access$1(UIPerformChangeOperation, IProgressMonitor) line: 1 UIPerformChangeOperation$1.run() line: 66 SafeRunner.run(ISafeRunnable) line: 37 UIPerformChangeOperation$2.run() line: 84 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 133 Display.runAsyncMessages(boolean) line: 3800 Display.readAndDispatch() line: 3425 ModalContext$ModalContextThread.block() line: 173 ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 382 RefactoringWizardDialog2.run(boolean, boolean, IRunnableWithProgress) line: 317 DeleteResourcesWizard(RefactoringWizard).internalPerformFinish(InternalAPI, PerformChangeOperation) line: 558 DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage(UserInputWizardPage).performFinish() line: 154 DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.performFinish() line: 147 DeleteResourcesWizard(RefactoringWizard).performFinish() line: 622 RefactoringWizardDialog2.okPressed() line: 446 RefactoringWizardDialog2(Dialog).buttonPressed(int) line: 472 Dialog$2.widgetSelected(SelectionEvent) line: 624 TypedListener.handleEvent(Event) line: 228 EventTable.sendEvent(Event) line: 84 Button(Widget).sendEvent(Event) line: 1003 Display.runDeferredEvents() line: 3823 Display.readAndDispatch() line: 3422 RefactoringWizardDialog2(Window).runEventLoop(Shell) line: 825 RefactoringWizardDialog2(Window).open() line: 801 RefactoringWizardOpenOperation$1.run() line: 144 BusyIndicator.showWhile(Display, Runnable) line: 70 RefactoringWizardOpenOperation.run(Shell, String) line: 156 DeleteResourcesHandler.execute(ExecutionEvent) line: 41 HandlerProxy.execute(ExecutionEvent) line: 281 Command.executeWithChecks(ExecutionEvent) line: 476 ParameterizedCommand.executeWithChecks(Object, Object) line: 508 HandlerService.executeCommandInContext(ParameterizedCommand, Event, IEvaluationContext) line: 270 LTKLauncher.runCommand(String, IStructuredSelection) line: 95 LTKLauncher.openDeleteWizard(IStructuredSelection) line: 47 DeleteResourceAction.run() line: 480 DeleteAction.run(IStructuredSelection) line: 71 DeleteAction(SelectionDispatchAction).dispatchRun(ISelection) line: 274 DeleteAction(SelectionDispatchAction).run() line: 250 DeleteAction(Action).runWithEvent(Event) line: 498 ActionContributionItem.handleWidgetSelection(Event, boolean) line: 583 ActionContributionItem.access$2(ActionContributionItem, Event, boolean) line: 500 ActionContributionItem$5.handleEvent(Event) line: 411 EventTable.sendEvent(Event) line: 84 MenuItem(Widget).sendEvent(Event) line: 1003 Display.runDeferredEvents() line: 3823 Display.readAndDispatch() line: 3422 Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2382 Workbench.runUI() line: 2346 Workbench.access$4(Workbench) line: 2198 Workbench$5.run() line: 493 Realm.runWithDefault(Realm, Runnable) line: 288 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 488 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 113 EclipseAppHandle.run(Object) line: 193 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 386 EclipseStarter.run(String[], Runnable) line: 179 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 Main.invokeFramework(String[], URL[]) line: 549 Main.basicRun(String[]) line: 504 Main.run(String[]) line: 1236 Main.main(String[]) line: 1212 Daemon Thread [Framework Event Dispatcher] (Suspended) waiting for: EventManager$EventThread (id=20) Object.wait(long) line: not available [native method] EventManager$EventThread(Object).wait() line: 485 EventManager$EventThread.getNextEvent() line: 377 EventManager$EventThread.run() line: 317 Daemon Thread [Start Level Event Dispatcher] (Suspended) waiting for: EventManager$EventThread (id=23) Object.wait(long) line: not available [native method] EventManager$EventThread(Object).wait() line: 485 EventManager$EventThread.getNextEvent() line: 377 EventManager$EventThread.run() line: 317 Thread [Worker-0] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Daemon Thread [Java indexing] (Suspended) waiting for: IndexManager (id=72) Object.wait(long) line: not available [native method] IndexManager(Object).wait() line: 485 IndexManager(JobManager).run() line: 371 Thread.run() line: 619 Thread [Worker-1] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [Worker-2] (Suspended) owns: JavaModelManager$PerProjectInfo (id=66) waiting for: Object (id=65) Object.wait(long) line: not available [native method] ThreadJob.joinRun(IProgressMonitor) line: 189 ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87 JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 230 WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 117 Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1747 Folder.create(int, boolean, IProgressMonitor) line: 85 Folder.create(boolean, boolean, IProgressMonitor) line: 118 JavaProject.getJSDTScopeFile() line: 190 JavaProject.readFileEntriesWithException(Map) line: 2431 JavaModelManager$PerProjectInfo.readAndCacheClasspath(JavaProject) line: 1147 JavaProject.resolveClasspath(JavaModelManager$PerProjectInfo) line: 2626 JavaProject.getResolvedClasspath() line: 1945 JavaScriptCore.initializeAfterLoad(IProgressMonitor) line: 2839 InitializeAfterLoadJob$RealJob.run(IProgressMonitor) line: 32 Worker.run() line: 55 Thread [Worker-3] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [Worker-4] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [Worker-5] (Suspended) waiting for: OfflineCachingStorage$CacheFlushJob (id=69) Object.wait(long) line: not available [native method] OfflineCachingStorage$CacheFlushJob(Object).wait() line: 485 OfflineCachingStorage$CacheFlushJob.run(IProgressMonitor) line: 242 Worker.run() line: 55 Thread [Worker-6] (Suspended) waiting for: Object (id=65) Object.wait(long) line: not available [native method] ThreadJob.joinRun(IProgressMonitor) line: 189 ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87 JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 230 WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 117 Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1747 Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1795 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1782 JavaModelManager$16.run(IProgressMonitor) line: 4269 Worker.run() line: 55 Thread [Worker-7] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [Timer-0] (Suspended) waiting for: TaskQueue (id=68) Object.wait(long) line: not available [native method] TimerThread.mainLoop() line: 509 TimerThread.run() line: 462 Thread [Timer-1] (Suspended) waiting for: TaskQueue (id=70) Object.wait(long) line: not available [native method] TimerThread.mainLoop() line: 509 TimerThread.run() line: 462 Thread [Worker-8] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [Worker-9] (Suspended) waiting for: WorkerPool (id=64) Object.wait(long) line: not available [native method] WorkerPool.sleep(long) line: 185 WorkerPool.startJob(Worker) line: 217 Worker.run() line: 51 Thread [ModalContext] (Suspended) waiting for: RunnableLock (id=67) Object.wait(long) line: not available [native method] RunnableLock(Object).wait() line: 485 UISynchronizer(Synchronizer).syncExec(Runnable) line: 185 UISynchronizer.syncExec(Runnable) line: 150 Display.syncExec(Runnable) line: 4251 UIPerformChangeOperation.executeChange(IProgressMonitor) line: 88 UIPerformChangeOperation(PerformChangeOperation).run(IProgressMonitor) line: 220 Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1800 WorkbenchRunnableAdapter.run(IProgressMonitor) line: 87 ModalContext$ModalContextThread.run() line: 121 Daemon Thread [JavaScript indexing] (Suspended) waiting for: IndexManager (id=71) Object.wait(long) line: not available [native method] IndexManager(Object).wait() line: 485 IndexManager(JobManager).run() line: 370 Thread.run() line: 619 Stefan, I really need the fully qualified class names to properly look at this. "main" prio=6 tid=0x008f5400 nid=0x19e8 waiting for monitor entry [0x0012e000..0x0012fc48] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.wst.jsdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2624) - waiting to lock <0x02b40c40> (a org.eclipse.wst.jsdt.internal.core.JavaModelManager$PerProjectInfo) at org.eclipse.wst.jsdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1945) at org.eclipse.wst.jsdt.internal.core.DeltaProcessor.deleting(DeltaProcessor.java:1002) at org.eclipse.wst.jsdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1881) at org.eclipse.wst.jsdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:389) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:288) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:282) at org.eclipse.core.internal.events.NotificationManager.handleEvent(NotificationManager.java:260) at org.eclipse.core.internal.resources.Workspace.broadcastEvent(Workspace.java:307) at org.eclipse.core.internal.resources.Resource.broadcastPreDeleteEvent(Resource.java:1772) at org.eclipse.core.internal.resources.Resource.delete(Resource.java:696) at org.eclipse.core.internal.resources.Project.delete(Project.java:309) at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:131) at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278) at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278) at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:260) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:308) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.access$1(UIPerformChangeOperation.java:1) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation$1.run(UIPerformChangeOperation.java:66) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation$2.run(UIPerformChangeOperation.java:84) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) - locked <0x02b56158> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:382) at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:317) at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:558) at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:154) at org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.performFinish(DeleteResourcesWizard.java:147) at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:622) at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:446) at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java: 228) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:144) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:156) at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:41) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:281) 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.executeCommandInContext(HandlerService.java:270) at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:95) at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:47) at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:480) at com.intershop.enfinity.studio.view.action.DeleteAction.run(DeleteAction.java:268) at com.intershop.enfinity.studio.view.action.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:216) at com.intershop.enfinity.studio.view.action.SelectionDispatchAction.run(SelectionDispatchAction.java:185) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) 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:193) 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:386) 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:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236) "VM Thread" prio=10 tid=0x32d51400 nid=0x1a50 runnable "VM Periodic Task Thread" prio=10 tid=0x32d81800 nid=0x2d8 waiting on condition JNI global references: 1346 Categorizing JSDT bugzillas for planning purposes. *** Bug 276317 has been marked as a duplicate of this bug. *** See duplicate bug for additional, similar stack traces. Bug is over 4 years old and I haven't been able to reproduce this. |