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

Bug 322695

Summary: Can't access preferences of any unrelated CDT project having "bad" project in workspace
Product: [Tools] CDT Reporter: Andrew Gvozdev <angvoz.dev>
Component: cdt-buildAssignee: Andrew Gvozdev <angvoz.dev>
Status: RESOLVED FIXED QA Contact: Andrew Gvozdev <angvoz.dev>
Severity: normal    
Priority: P3 CC: michael.malenke
Version: 8.0   
Target Milestone: 7.0.1   
Hardware: All   
OS: All   
Whiteboard:

Description Andrew Gvozdev CLA 2010-08-13 18:25:24 EDT
I got a project with orphaned configuration (it was deprecated then removed from our custom plugin) in workspace. It was closed for a long while and then I wanted to check something and opened it. Now I cannot access Paths&Symbols in any other totally unrelated project. The culprit seems to be Reference Tab which recklessly pulls all the configurations for each project in the workspace. The actual exception is similar to that of bug 278744:

at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.getPathInfoCache(CfgDiscoveredPathManager.java:362)
at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.getCachedPathInfo(CfgDiscoveredPathManager.java:343)
at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.getCachedPathInfo(CfgDiscoveredPathManager.java:339)
at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.getCachedPathInfo(CfgDiscoveredPathManager.java:312)
at org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager.getDiscoveredInfo(CfgDiscoveredPathManager.java:168)
at org.eclipse.cdt.managedbuilder.internal.dataprovider.ProfileInfoProvider.getEntryValues(ProfileInfoProvider.java:65)
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildEntryStorage.getDiscoveredEntries(BuildEntryStorage.java:201)
at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildEntryStorage.putEntriesToLevel(BuildEntryStorage.java:191)
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.CModelManager.create(CModelManager.java:281)
at org.eclipse.cdt.internal.core.model.CModelManager.create(CModelManager.java:258)
at org.eclipse.cdt.internal.core.model.DeltaProcessor.createElement(DeltaProcessor.java:88)
at org.eclipse.cdt.internal.core.model.DeltaProcessor.traverseDelta(DeltaProcessor.java:458)
at org.eclipse.cdt.internal.core.model.DeltaProcessor.traverseDelta(DeltaProcessor.java:479)
at org.eclipse.cdt.internal.core.model.DeltaProcessor.processResourceDelta(DeltaProcessor.java:436)
at org.eclipse.cdt.internal.core.model.CModelManager.resourceChanged(CModelManager.java:892)
at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1189)
at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2006)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$5.run(IDEWorkbenchAdvisor.java:502)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Comment 1 Andrew Gvozdev CLA 2010-08-13 22:08:13 EDT
Patch to RefsTab committed to 7.0.1 and HEAD (8.0).
Comment 6 CDT Genie CLA 2010-08-14 22:23:02 EDT
*** cdt cvs genie on behalf of agvozdev ***
bug 322695: Can't access preferences of any unrelated CDT project having &quot;bad&quot; project in workspace

[*] ManagedBuildManager.java 1.138 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java?root=Tools_Project&r1=1.137&r2=1.138

[*] BuildConfigurationData.java 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/BuildConfigurationData.java?root=Tools_Project&r1=1.6&r2=1.7
[*] DataProviderMessages.properties 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/DataProviderMessages.properties?root=Tools_Project&r1=1.6&r2=1.7

[*] AbstractPage.java 1.79 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractPage.java?root=Tools_Project&r1=1.78&r2=1.79

[*] Messages.properties 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties?root=Tools_Project&r1=1.3&r2=1.4

[*] ToolChainEditTab.java 1.28 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ToolChainEditTab.java?root=Tools_Project&r1=1.27&r2=1.28

[*] DataProviderMessages.properties 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/DataProviderMessages.properties?root=Tools_Project&r1=1.7&r2=1.8
Comment 7 CDT Genie CLA 2010-08-14 23:23:02 EDT
*** cdt cvs genie on behalf of agvozdev ***
bug 322695: Can't access preferences of any unrelated CDT project having &quot;bad&quot; project in workspace
=1.30

[*] FolderInfo.java 1.28.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/FolderInfo.java?root=Tools_Project&r1=1.28&r2=1.28.2.1

[*] CfgDiscoveredPathManager.java 1.17.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/CfgDiscoveredPathManager.java?root=Tools_Project&r1=1.17&r2=1.17.2.1

[*] Messages.java 1.1.2.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.java?root=Tools_Project&r1=1.1.2.2&r2=1.1.2.3

[*] Messages.properties 1.1.2.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties?root=Tools_Project&r1=1.1.2.3&r2=1.1.2.4

[*] ToolChainEditTab.java 1.24.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ToolChainEditTab.java?root=Tools_Project&r1=1.24.2.1&r2=1.24.2.2

[*] Configuration.java 1.98 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java?root=Tools_Project&r1=1.97&r2=1.98

[*] PluginResources.properties 1.58.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties?root=Tools_Project&r1=1.58&r2=1.58.2.1
[*] Configuration.java 1.91.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java?root=Tools_Project&r1=1.91&r2=1.91.2.1

[*] DataProviderMessages.properties 1.6.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/DataProviderMessages.properties?root=Tools_Project&r1=1.6&r2=1.6.2.1

[*] BuildConfigurationData.java 1.5.18.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/BuildConfigurationData.java?root=Tools_Project&r1=1.5&r2=1.5.18.1

[*] AbstractPage.java 1.77.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractPage.java?root=Tools_Project&r1=1.77.2.1&r2=1.77.2.2
Comment 8 Andrew Gvozdev CLA 2010-08-14 23:31:07 EDT
Committed a bunch of changes (as pointed out by CDT Genie) on 7.0.1 and HEAD (8.0). The changes are mostly about basic polite behavior in presence of orphaned configuration, toolchain and builder. Now the diagnostic goes to .log, Tool Chain Editor page and under the group of selection configurations in project properties.
Comment 9 Andrew Gvozdev CLA 2010-08-14 23:36:10 EDT
*** Bug 278744 has been marked as a duplicate of this bug. ***