Community
Participate
Working Groups
Build Identifier: 20100617-1415 Line 242 of org.eclipse.search2.internal.ui.text.PositionTracker calls FileBuffers.getWorkspaceFileAtLocation(buffer.getLocation()); which fails with a NPE if the file buffer points to a location on a remote file system. Reproducible: Always Steps to Reproduce: org.eclipse.search2.internal.ui.text.PositionTracker.bufferCreated contains the following code which tries to retrieve the workspace file for the given buffer: FileBuffers.getWorkspaceFileAtLocation(buffer.getLocation()); This will fail with a NPE if the buffer points to a location on a remote file system (reproduced by using the RSE EFS implementation). getLocation() is documented to return null for files on remote file systems. Here is the full stack trace of the exception: java.lang.NullPointerException at org.eclipse.core.filebuffers.FileBuffers.normalizeLocation(FileBuffers.java:161) at org.eclipse.core.filebuffers.FileBuffers.getWorkspaceFileAtLocation(FileBuffers.java:124) at org.eclipse.core.filebuffers.FileBuffers.getWorkspaceFileAtLocation(FileBuffers.java:107) at org.eclipse.search2.internal.ui.text.PositionTracker.bufferCreated(PositionTracker.java:242) at org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:802) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:800) at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connectFileStore(TextFileBufferManager.java:165) at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:567) at com.microfocus.eclipse.editor.cobol.CobolDocumentProvider.createFileInfo(CobolDocumentProvider.java:68) at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478) at com.microfocus.eclipse.editor.cobol.CobolDocumentProvider.connect(CobolDocumentProvider.java:117) at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4050) at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:217) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1444) at com.microfocus.eclipse.editor.internal.common.AbstractCobolEditor.doSetInput(AbstractCobolEditor.java:393) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3037) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2600) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3055) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3082) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:798) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768) at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:488) at com.microfocus.eclipse.editor.internal.handlers.OpenCopybookDelegate.openCopyFiles(OpenCopybookDelegate.java:79) at com.microfocus.eclipse.editor.internal.handlers.EditorNavigationCommandHandler.execute(EditorNavigationCommandHandler.java:66) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293) 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.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820) at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806) at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774) at com.microfocus.eclipse.test.framework.util.MenuUtil$6.run(MenuUtil.java:349) at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$5.doRun(UIThreadRunnable.java:221) at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$1.run(UIThreadRunnable.java:89) 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:4041) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.swtbot.eclipse.core.UITestApplication.start(UITestApplication.java:54) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Fixed in org.eclipse.search2.internal.ui.text.PositionTracker.java rev. 1.31. Available in builds >= N20110831-2000.
*** Bug 371643 has been marked as a duplicate of this bug. ***
Can we get this backported to Eclipse 3.6.x?
Backport to R3_6_maintenance and R3_6_maintenance_Java7: git.eclipse.org/c/platform/eclipse.platform.text.git/commit/?id=8706821e7e7eb5f5e72c4f363b419c43f1601320 map file changes for R3_6_maintenance: http://git.eclipse.org/c/platform/eclipse.platform.releng.maps.git/commit/?id=f2cfdc80ebed3e04df023e8687b9bd108475f997 map file changes for R3_6_maintenance_Java7: http://git.eclipse.org/c/platform/eclipse.platform.releng.maps.git/commit/?id=b17dc44c8273c2cd57d06280cee7cf8a652ac99c Backport to R3_7_maintenance: http://git.eclipse.org/c/platform/eclipse.platform.text.git/commit/?id=edd6ebfc44f1d90e33ec9ed14ce2789b6cab0802