Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 348441 - Null pointer exception in RemoteConfigurationEnvironmentSupplier.getRemoteEnvironment in PTP 5.0 6/3 build
Summary: Null pointer exception in RemoteConfigurationEnvironmentSupplier.getRemoteEnv...
Status: ASSIGNED
Alias: None
Product: PTP
Classification: Tools
Component: RDT (show other bugs)
Version: 5.0   Edit
Hardware: All Unix All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Chris Recoskie CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-06 13:36 EDT by David Wootton CLA
Modified: 2014-05-29 17:12 EDT (History)
2 users (show)

See Also:


Attachments
patch (1.64 KB, patch)
2011-06-06 13:46 EDT, Chris Recoskie CLA
recoskie: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Wootton CLA 2011-06-06 13:36:19 EDT
In testing the PTP 5.0 6/3 build I loaded the source for my HPC Toolkit plugin and started an Eclipse runtime session to test if that plugin still worked. That plugin has an option to load an executable so that it can be instrumented for performance analysis. Part of theprocessing for loading an executable is to attempt to open the source files the executable as built from. When I do this, I am getting a null pointer exception with the traceback below and the editor fails to open. This worked with PTP 5.0 source I had extracted into my workspace last week. 

The code in my plugin where I attempt to open an editor with the source code is 

IDE.openEditorOnFileStore(page, ((PTPRemoteFile) list[j]).getFileObject()); 

where getFileObject returns an IFileStore object. I looked at that object in a debugger and it looks like it has the name of a remote tools connection I am using and the components of the file's source path. 

I'm not sure if this is something my plugin is doing wrong or if this is a bug in PTP code. 

at org.eclipse.ptp.rdt.managedbuilder.xlc.ui.environment.RemoteConfigurationEnvironmentSupplier.getRemoteEnvironment(RemoteConfigurationEnvironmentSupplier.java:121) 
at org.eclipse.ptp.rdt.managedbuilder.xlc.ui.environment.RemoteConfigurationEnvironmentSupplier.getVariable(RemoteConfigurationEnvironmentSupplier.java:57) 
at org.eclipse.cdt.managedbuilder.internal.envvar.ExternalExtensionEnvironmentSupplier.getVariable(ExternalExtensionEnvironmentSupplier.java:66) 
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildEnvironmentContributor.getVariable(BuildEnvironmentContributor.java:53) 
at org.eclipse.cdt.internal.core.envvar.BuildSystemEnvironmentSupplier.getVariable(BuildSystemEnvironmentSupplier.java:169) 
at org.eclipse.cdt.internal.core.envvar.EnvironmentVariableManager.getVariable(EnvironmentVariableManager.java:157) 
at org.eclipse.cdt.internal.core.envvar.EnvironmentVariableManager.getVariable(EnvironmentVariableManager.java:190) 
at org.eclipse.cdt.managedbuilder.internal.envvar.EnvironmentVariableProvider.getVariable(EnvironmentVariableProvider.java:118) 
at org.eclipse.cdt.managedbuilder.internal.envvar.EnvironmentVariableProvider.getBuildPaths(EnvironmentVariableProvider.java:238) 
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildEntryStorage.getEnvEntries(BuildEntryStorage.java:371) 
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildEntryStorage.putEntriesToLevel(BuildEntryStorage.java:187) 
at org.eclipse.cdt.core.settings.model.util.AbstractEntryStorage.initCache(AbstractEntryStorage.java:71) 
at org.eclipse.cdt.core.settings.model.util.AbstractEntryStorage.getEntries(AbstractEntryStorage.java:34) 
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildLanguageData.getEntries(BuildLanguageData.java:161) 
at org.eclipse.cdt.core.settings.model.extension.impl.CDefaultLanguageData.getEntriesToCopy(CDefaultLanguageData.java:98) 
at org.eclipse.cdt.core.settings.model.extension.impl.CDefaultLanguageData.createStore(CDefaultLanguageData.java:89) 
at org.eclipse.cdt.core.settings.model.extension.impl.CDefaultLanguageData.copySettingsFrom(CDefaultLanguageData.java:82) 
at org.eclipse.cdt.internal.core.settings.model.CLanguageSettingCache.copySettingsFrom(CLanguageSettingCache.java:48) 
at org.eclipse.cdt.internal.core.settings.model.CLanguageSettingCache.<init>(CLanguageSettingCache.java:37) 
at org.eclipse.cdt.internal.core.settings.model.CFolderDescriptionCache.copyLanguageData(CFolderDescriptionCache.java:72) 
at org.eclipse.cdt.core.settings.model.extension.impl.CDefaultFolderData.copyDataFrom(CDefaultFolderData.java:56) 
at org.eclipse.cdt.internal.core.settings.model.CFolderDescriptionCache.<init>(CFolderDescriptionCache.java:38) 
at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache.copyFolderData(CConfigurationDescriptionCache.java:193) 
at org.eclipse.cdt.core.settings.model.extension.impl.CDefaultConfigurationData.copySettingsFrom(CDefaultConfigurationData.java:113) 
at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache.loadData(CConfigurationDescriptionCache.java:99) 
at org.eclipse.cdt.internal.core.settings.model.CProjectDescription.loadDatas(CProjectDescription.java:196) 
at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.loadProjectDescription(XmlProjectDescriptionStorage.java:486) 
at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.getProjectDescription(XmlProjectDescriptionStorage.java:231) 
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescriptionInternal(CProjectDescriptionManager.java:416) 
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:398) 
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:393) 
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:386) 
at org.eclipse.cdt.internal.core.model.CProject.computeSourceRoots(CProject.java:603) 
at org.eclipse.cdt.internal.core.model.CProject.computeChildren(CProject.java:624) 
at org.eclipse.cdt.internal.core.model.CProject.buildStructure(CProject.java:588) 
at org.eclipse.cdt.internal.core.model.Openable.generateInfos(Openable.java:265) 
at org.eclipse.cdt.internal.core.model.CElement.openWhenClosed(CElement.java:430) 
at org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java:309) 
at org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java:299) 
at org.eclipse.cdt.internal.core.model.Parent.getChildren(Parent.java:55) 
at org.eclipse.cdt.internal.core.model.CProject.getSourceRoots(CProject.java:480) 
at org.eclipse.cdt.internal.core.model.CModelManager.create(CModelManager.java:327) 
at org.eclipse.cdt.core.model.CoreModel.create(CoreModel.java:121) 
at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createTranslationUnit(CDocumentProvider.java:795) 
at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:836) 
at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478) 
at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:779) 
at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213) 
at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237) 
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451) 
at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169) 
at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1425) 
at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1390) 
at org.eclipse.ptp.internal.rdt.ui.editor.RemoteCEditor.doSetInput(RemoteCEditor.java:166) 
at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200) 
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:2642) 
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218) 
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245) 
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828) 
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:2945) 
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850) 
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842) 
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793) 
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2756) 
at org.eclipse.ui.ide.IDE.openEditorOnFileStore(IDE.java:1155) 
at com.ibm.research.hpct.tools.view.HPMView.openRemoteSourceFiles(HPMView.java:116) 
at com.ibm.research.hpct.tools.view.HPMView.selectionChanged(HPMView.java:174) 
at org.eclipse.ui.internal.AbstractSelectionService.fireSelection(AbstractSelectionService.java:156) 
at org.eclipse.ui.internal.AbstractSelectionService$1.selectionChanged(AbstractSelectionService.java:62) 
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:164) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) 
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) 
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:162) 
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2188) 
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1211) 
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1241) 
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:239) 
at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:233) 
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:403) 
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.Display.runDeferredEvents(Display.java:4163) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752) 
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(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
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)
Comment 1 Chris Recoskie CLA 2011-06-06 13:46:44 EDT
Created attachment 197433 [details]
patch

Dave, please try this patch.  Thanks.
Comment 2 Chris Recoskie CLA 2013-10-28 12:56:24 EDT
Might be related to bug 368495