Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 368450

Summary: RSE will not stop asking for credentials when a remote file editor is opened and connection is disconnected
Product: [Tools] Target Management Reporter: Petar Petrov <petar.petrov>
Component: RSEAssignee: dsdp.tm.rse-inbox <tm.rse-inbox>
Status: NEW --- QA Contact: Martin Oberhuber <mober.at+eclipse>
Severity: normal    
Priority: P3 CC: petar.petrov
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Petar Petrov CLA 2012-01-12 08:49:37 EST
Build Identifier: I20110613-1736

RSE will not stop asking for credentials when a remote file editor is opened and connection is disconnected. Happens when the editor state is sanity checked.

Reproducible: Always

Steps to Reproduce:
1. Create a new project (File->New->Project..., General->Project)
2. Create a new remote connection, but do not save the credentials for it
3. Link a remote file using the RSE file system to the project
4. Open the file in the editor
5. Disconnect the connection
6. Activate the editor

The credentials dialog will popup - click Cancel, it will popup again - this will continue until the correct password is entered. Each time the following exception is logged:


!ENTRY org.eclipse.ui 4 0 2012-01-12 15:41:18.583
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runtime.OperationCanceledException)
	at org.eclipse.swt.SWT.error(SWT.java:4282)
	at org.eclipse.swt.SWT.error(SWT.java:4197)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:344)
	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:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: org.eclipse.core.runtime.OperationCanceledException
	at org.eclipse.rse.ui.subsystems.StandardCredentialsProvider.promptForCredentials(StandardCredentialsProvider.java:411)
	at org.eclipse.rse.ui.subsystems.StandardCredentialsProvider.acquireCredentials(StandardCredentialsProvider.java:232)
	at org.eclipse.rse.core.subsystems.AuthenticatingConnectorService.acquireCredentials(AuthenticatingConnectorService.java:189)
	at org.eclipse.rse.core.subsystems.SubSystem.promptForPassword(SubSystem.java:2642)
	at org.eclipse.rse.core.subsystems.SubSystem$1.run(SubSystem.java:2536)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4683)
	at org.eclipse.rse.core.subsystems.SubSystem.connect(SubSystem.java:2532)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getConnectedFileSubSystem(RSEFileStoreImpl.java:293)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:363)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:348)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:348)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:348)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:348)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.getRemoteFileObject(RSEFileStoreImpl.java:348)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.fetchInfo(RSEFileStoreImpl.java:550)
	at org.eclipse.rse.internal.efs.RSEFileStore.fetchInfo(RSEFileStore.java:305)
	at org.eclipse.rse.internal.efs.RSEFileStore.fetchInfo(RSEFileStore.java:287)
	at org.eclipse.core.internal.filebuffers.AbstractFileBuffer.getModificationStamp(AbstractFileBuffer.java:90)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider.getModificationStamp(TextFileDocumentProvider.java:928)
	at org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckState(AbstractTextEditor.java:4883)
	at org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState(StatusTextEditor.java:257)
	at org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityCheckState(AbstractTextEditor.java:4865)
	at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.handleActivation(AbstractTextEditor.java:984)
	at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.access$0(AbstractTextEditor.java:977)
	at org.eclipse.ui.texteditor.AbstractTextEditor$10.run(AbstractTextEditor.java:1005)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	... 23 more