| Summary: | Whitespace in remote tools connection name causes open declaration to fail | ||
|---|---|---|---|
| Product: | [Tools] PTP | Reporter: | Greg Watson <g.watson> |
| Component: | RDT | Assignee: | Greg Watson <g.watson> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | beth, cjashfor, jjohnstn |
| Version: | 4.0.3 | ||
| Target Milestone: | --- | ||
| Hardware: | Macintosh | ||
| OS: | Mac OS X | ||
| Whiteboard: | |||
Fixed in 4.0 and HEAD. Closing |
We observed that when the remote tools connection name contains whitespace, using open declaration causes the following exception. It looks like a URI with the name unencoded is being used somewhere. This probably affects other RDT functions also. java.lang.NullPointerException at java.net.URLDecoder.decode(URLDecoder.java:119) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileSystem.getConnectionNameFor(RemoteToolsFileSystem.java:51) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileStore.getInstance(RemoteToolsFileStore.java:54) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileSystem.getStore(RemoteToolsFileSystem.java:137) at org.eclipse.core.internal.filesystem.InternalFileSystemCore.getStore(InternalFileSystemCore.java:107) at org.eclipse.core.filesystem.EFS.getStore(EFS.java:470) at org.eclipse.core.filesystem.URIUtil.toPath(URIUtil.java:69) at org.eclipse.cdt.internal.ui.util.ExternalEditorInput.<init>(ExternalEditorInput.java:89) at org.eclipse.cdt.internal.ui.util.EditorUtility.getEditorInputForLocation(EditorUtility.java:401) at org.eclipse.cdt.internal.ui.util.EditorUtility.openInEditor(EditorUtility.java:329) at org.eclipse.ptp.internal.rdt.ui.search.actions.OpenDeclarationsJob$1.run(OpenDeclarationsJob.java:198) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 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:369) 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:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407)