Bug 118879 - [Progress] Saving workspace operation deadlock (?)
Summary: [Progress] Saving workspace operation deadlock (?)
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact: Prakash Rangaraj CLA
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2005-12-01 12:25 EST by Sergey Vladimirov CLA
Modified: 2009-07-09 23:01 EDT (History)
2 users (show)

See Also:


Attachments
Stact trace before pressing red "stop" button (13.29 KB, text/plain)
2005-12-01 12:26 EST, Sergey Vladimirov CLA
no flags Details
Progress Window (8.09 KB, image/gif)
2005-12-01 12:27 EST, Sergey Vladimirov CLA
no flags Details
Stact trace after pressing red "stop" button (6.60 KB, text/plain)
2005-12-01 12:28 EST, Sergey Vladimirov CLA
no flags Details
Progress window after press red "stop" button (8.00 KB, image/gif)
2005-12-01 12:29 EST, Sergey Vladimirov CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Vladimirov CLA 2005-12-01 12:25:32 EST
I close Eclipse, but operation "Saving workspace" is in progress 20 minutes already. Only progress window is showed - main workspace windows is already closed. Title of progress window is "User Operation is Waiting", but no user operation in progress - there is no other windows to do anything.

Eclipse 3.2M3, WTP M9

Bug cannot be reprodused.
Comment 1 Sergey Vladimirov CLA 2005-12-01 12:26:34 EST
Created attachment 30960 [details]
Stact trace before pressing red "stop" button
Comment 2 Sergey Vladimirov CLA 2005-12-01 12:27:28 EST
Created attachment 30961 [details]
Progress Window
Comment 3 Sergey Vladimirov CLA 2005-12-01 12:28:29 EST
Created attachment 30962 [details]
Stact trace after pressing red "stop" button
Comment 4 Sergey Vladimirov CLA 2005-12-01 12:29:29 EST
Created attachment 30963 [details]
Progress window after press red "stop" button
Comment 5 Kim Horne CLA 2005-12-02 08:45:21 EST
Punting to Tod for diagnosis.
Comment 6 Tod Creasey CLA 2005-12-02 09:17:07 EST
These Threads are in the same active state in boths cases. None of them are from the Jobs framework (they would be called "Worker X"). 

It looks like Saving Workspace is blocked on someone deadlocked inside a workspace runnable. Are idea where these Threads come from?

CompilerThread1" daemon prio=10 tid=0x14367c00 nid=0x470 waiting on condition [0x00000000..0x145cf5dc]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x14365a00 nid=0x110 waiting on condition [0x00000000..0x1457f35c]
   java.lang.Thread.State: RUNNABLE

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

"Signal Dispatcher" daemon prio=10 tid=0x14364000 nid=0xf80 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE
Comment 7 John Arthorne CLA 2005-12-02 10:58:07 EST
These stack traces don't seem to match the described symtoms. In the stack traces, there is no save in progress, no shutdown in progress, no "Open Project" in progress... in fact, nothing is happening and the UI thread is idling in the normal event loop. Very strange.  Are there any errors in your log file from around the time of the hang? (workspace/.metadata/.log).
Comment 8 Sergey Vladimirov CLA 2005-12-02 11:04:14 EST
I don't know, is there any link with bug, but in error log there are strange lines, like:

!ENTRY org.eclipse.jface 4 2 2005-11-30 12:16:12.364
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
	at org.eclipse.core.internal.registry.RegistryObjectManager.basicGetObject(RegistryObjectManager.java:188)
	at org.eclipse.core.internal.registry.RegistryObjectManager.getObject(RegistryObjectManager.java:178)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getConfigurationElement(ConfigurationElementHandle.java:27)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getChildren(ConfigurationElementHandle.java:39)
	at org.eclipse.core.internal.runtime.AdapterFactoryProxy.getAdapterNames(AdapterFactoryProxy.java:67)
	at org.eclipse.core.internal.runtime.AdapterManager.addFactoriesFor(AdapterManager.java:80)
	at org.eclipse.core.internal.runtime.AdapterManager.getFactories(AdapterManager.java:169)
	at org.eclipse.core.internal.runtime.AdapterManager.getAdapter(AdapterManager.java:245)
	at org.eclipse.core.runtime.PlatformObject.getAdapter(PlatformObject.java:65)
	at org.eclipse.jdt.ui.JavaElementLabels.getTextLabel(JavaElementLabels.java:348)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getText(JavaUILabelProvider.java:161)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerLabelProvider.getText(PackageExplorerLabelProvider.java:46)
	at org.eclipse.jface.viewers.DecoratingLabelProvider.getText(DecoratingLabelProvider.java:126)
	at org.eclipse.jface.viewers.DecoratingLabelProvider.updateLabel(DecoratingLabelProvider.java:216)
	at org.eclipse.jface.viewers.StructuredViewer.buildLabel(StructuredViewer.java:1855)
	at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:228)
	at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:85)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
	at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:621)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1238)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1253)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1253)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1253)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1253)
	at org.eclipse.jface.viewers.AbstractTreeViewer.labelProviderChanged(AbstractTreeViewer.java:1387)
	at org.eclipse.jface.viewers.ContentViewer.handleLabelProviderChanged(ContentViewer.java:167)
	at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged(StructuredViewer.java:1009)
	at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.handleLabelProviderChanged(ProblemTreeViewer.java:139)
	at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged(ContentViewer.java:74)
	at org.eclipse.ui.internal.decorators.DecoratorManager$2.run(DecoratorManager.java:252)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.decorators.DecoratorManager.fireListeners(DecoratorManager.java:250)
	at org.eclipse.ui.internal.decorators.DecoratorManager.fireListenersInUIThread(DecoratorManager.java:272)
	at org.eclipse.ui.internal.decorators.DecoratorManager.updateForEnablementChange(DecoratorManager.java:522)
	at org.eclipse.ui.internal.PlatformUIPreferenceListener.preferenceChange(PlatformUIPreferenceListener.java:65)
	at org.eclipse.core.internal.preferences.EclipsePreferences$2.run(EclipsePreferences.java:743)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent(EclipsePreferences.java:746)
	at org.eclipse.core.internal.preferences.EclipsePreferences.put(EclipsePreferences.java:759)
	at org.eclipse.ui.preferences.ScopedPreferenceStore.setValue(ScopedPreferenceStore.java:727)
	at org.eclipse.ui.internal.decorators.DecoratorManager.writeDecoratorsPreference(DecoratorManager.java:572)
	at org.eclipse.ui.internal.decorators.DecoratorManager.updateForEnablementChange(DecoratorManager.java:523)
	at org.eclipse.ui.internal.decorators.DecoratorManager.addDecorator(DecoratorManager.java:169)
	at org.eclipse.ui.internal.decorators.DecoratorManager.addExtension(DecoratorManager.java:890)
	at org.eclipse.ui.internal.registry.UIExtensionTracker$2.run(UIExtensionTracker.java:58)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:150)
	at org.eclipse.ui.internal.UISynchronizer$1.run(UISynchronizer.java:36)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3213)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2859)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
	at org.eclipse.jface.window.Window.open(Window.java:787)
	at org.eclipse.jface.dialogs.MessageDialog.openError(MessageDialog.java:319)
	at org.eclipse.jface.util.SafeRunnable.handleException(SafeRunnable.java:59)
	at org.eclipse.core.internal.runtime.InternalPlatform.handleException(InternalPlatform.java:716)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1046)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
	at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:621)
	at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.doUpdateItem(ProblemTreeViewer.java:69)
	at org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.updateItem(ResourceToItemsMapper.java:74)
	at org.eclipse.jdt.internal.ui.viewsupport.ResourceToItemsMapper.resourceChanged(ResourceToItemsMapper.java:63)
	at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.handleLabelProviderChanged(ProblemTreeViewer.java:125)
	at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged(ContentViewer.java:74)
	at org.eclipse.ui.internal.decorators.DecoratorManager$1.run(DecoratorManager.java:236)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.decorators.DecoratorManager.fireListener(DecoratorManager.java:234)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$3.runInUIThread(DecorationScheduler.java:450)
	at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:93)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3213)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2859)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1774)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1738)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:376)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:165)
	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:589)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)

And those lines are not pnly one time, but:
!ENTRY org.eclipse.jface 4 2 2005-11-30 12:16:12.364
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".

!ENTRY org.eclipse.jface 4 2 2005-11-30 12:16:12.394
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".

!ENTRY org.eclipse.jface 4 2 2005-11-30 12:16:12.434
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".

!ENTRY org.eclipse.jface 4 2 2005-11-30 12:16:12.464
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".

There is a lot of such messages. Yes, about 4 MB (there are no more log files, to store them)
Comment 9 Tod Creasey CLA 2007-06-18 14:36:22 EDT
This bug is now 2 years old with no duplicates. Please reopen if you see this in 3.3 or later.
Comment 10 Susan McCourt CLA 2009-07-09 19:37:17 EDT
As per http://wiki.eclipse.org/Platform_UI/Bug_Triage_Change_2009
Comment 11 John Arthorne CLA 2009-07-09 23:01:54 EDT
Not reproducible.