Bug 90825 [LinkedResources] Typing external path for folder link can be very slow
3.1M6 (but it's been a problem for a long time, I just haven't reported it until now) Select an existing project. File > New > Folder. Type a folder name, click Advanced, click Link to folder in the file system. Click in the text field to enter the actual path. Start typing \\servername\path\to\whatever. As I type this path on my computer, the Eclipse UI sometimes becomes unresponsive. I may only see a new character come up every few seconds. Some keystrokes may be lost. Windows may draw a white bar across the top of the Eclipse window where the menu used to be. It seems to be trying to figure out if the file exists in the main GUI thread. This can take a while, especially if the server name has a typo or is not found. Often I'm trying to correct the path but am frustrated by this unresponsiveness. I managed to get a Ctrl+Break traceback of the main thread when it was sluggish: "main" prio=7 tid=0x00035d00 nid=0x5a8 runnable [0x0007e000..0x0007fc3c] at java.io.WinNTFileSystem.getBooleanAttributes(Native Method) at java.io.File.exists(Unknown Source) at org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup.validat eLinkLocation(CreateLinkedResourceGroup.java:427) at org.eclipse.ui.dialogs.WizardNewFolderMainPage.validateLinkedResource (WizardNewFolderMainPage.java:438) at org.eclipse.ui.dialogs.WizardNewFolderMainPage.validatePage(WizardNew FolderMainPage.java:476) at org.eclipse.ui.dialogs.WizardNewFolderMainPage$2.handleEvent(WizardNe wFolderMainPage.java:149) at org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup$2.modif yText(CreateLinkedResourceGroup.java:172) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java: 187) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:866) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:847) at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:2019) at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:3155) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3032) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3466) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1549) at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:127) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3114) at org.eclipse.swt.widgets.Text.windowProc(Text.java:1742) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3466) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1625) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2525) at org.eclipse.jface.window.Window.runEventLoop(Window.java:803) at org.eclipse.jface.window.Window.open(Window.java:781) at org.eclipse.ui.internal.actions.NewWizardShortcutAction.run(NewWizard ShortcutAction.java:102) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:538) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContri butionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionC ontributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2894) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2527) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1570) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1534) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:306) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:10 3) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct ivator.java:228) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:156) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:315) at org.eclipse.core.launcher.Main.basicRun(Main.java:268) at org.eclipse.core.launcher.Main.run(Main.java:942) at org.eclipse.core.launcher.Main.main(Main.java:926)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
private static final String BUNDLE_NAME = "org.eclipse.ui.internal.ide.messages";
	
	public static String IDEWorkbenchAdvisor_noPerspective;
	public static String IDE_noFileEditorFound;
	public static String QuickStartAction_errorDialogTitle;
	public static String QuickStartAction_infoReadError;
	
	public static String ConfigurationLogUpdateSection_installConfiguration;
	public static String ConfigurationLogUpdateSection_lastChangedOn;
	public static String ConfigurationLogUpdateSection_location;
	public static String ConfigurationLogUpdateSection_configurationSites;
	public static String ConfigurationLogUpdateSection_configurationFeatures;
	public static String ConfigurationLogUpdateSection_featureIdAndVersion;
	public static String ConfigurationLogUpdateSection_plugins;
	public static String ErrorClosing;
	
	
	
	
	public static String showAdvanced;
	public static String hideAdvanced;