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

Bug 351718

Summary: NPE in ExcludedFileDecorator
Product: [Tools] CDT Reporter: Martin Oberhuber <mober.at+eclipse>
Component: cdt-buildAssignee: Karsten Thoms <karsten.thoms>
Status: RESOLVED FIXED QA Contact: Andrew Gvozdev <angvoz.dev>
Severity: normal    
Priority: P3 CC: cdtdoug, karsten.thoms, malaperle, yevshif
Version: 8.0   
Target Milestone: 9.5.0   
Hardware: PC   
OS: Windows 7   
See Also: https://git.eclipse.org/r/117509
https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=dfb713b5c863a2e0b0863a649186a34f5ed5d480
Whiteboard:

Description Martin Oberhuber CLA 2011-07-11 10:42:17 EDT
Build ID: CDT 8.0 (Indigo)

Not sure what triggered it, but I found this in my .log:

java.lang.NullPointerException
	at org.eclipse.cdt.internal.ui.viewsupport.ExcludedFileDecorator.decorate(ExcludedFileDecorator.java:43)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:263)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:370)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:330)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Martin Oberhuber CLA 2011-07-11 10:43:14 EDT
Preceeded and probably caused by that:

C Model Exception: C Model Status [Element  does not exist.]
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getRawPathEntries(PathEntryManager.java:644)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:550)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:534)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:520)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolveInfo(PathEntryManager.java:447)
	at org.eclipse.cdt.internal.core.settings.model.PathEntryConfigurationDataProvider.createData(PathEntryConfigurationDataProvider.java:304)
	at org.eclipse.cdt.internal.core.settings.model.PathEntryConfigurationDataProvider.createData(PathEntryConfigurationDataProvider.java:274)
	at org.eclipse.cdt.internal.core.settings.model.PathEntryConfigurationDataProvider.loadConfiguration(PathEntryConfigurationDataProvider.java:363)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.loadData(CProjectDescriptionManager.java:1115)
	at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache.loadData(CConfigurationDescriptionCache.java:95)
	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.ui.viewsupport.ExcludedFileDecorator.decorate(ExcludedFileDecorator.java:39)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:263)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:370)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:330)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 2 Marc-André Laperle CLA 2011-12-12 00:17:21 EST
I just got that too with 8.0.1. I was in the History view (EGit) and did a mixed reset. That probably triggered the decoration.
Comment 3 Karsten Thoms CLA 2018-02-13 04:34:43 EST
Just hit this NPE, using CDT 9.4.0

desc.getDefaultSettingConfiguration() yields null, leading to this NPE:

Thread [Worker-17] (Suspended (exception NullPointerException))	
	ExcludedFileDecorator.decorate(Object, IDecoration) line: 46	
	LightweightDecoratorDefinition.decorate(Object, IDecoration) line: 253	
	LightweightDecoratorManager$LightweightRunnable.run() line: 104	
	SafeRunner.run(ISafeRunnable) line: 42	
	LightweightDecoratorManager.decorate(Object, DecorationBuilder, LightweightDecoratorDefinition) line: 377	
	LightweightDecoratorManager.getDecorations(Object, DecorationBuilder) line: 359	
	DecorationScheduler$1.ensureResultCached(Object, boolean, IDecorationContext) line: 347	
	DecorationScheduler$1.run(IProgressMonitor) line: 311	
	Worker.run() line: 56
Comment 4 Eclipse Genie CLA 2018-02-16 06:16:08 EST
New Gerrit change created: https://git.eclipse.org/r/117509