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

Bug 499149

Summary: NPE in SaveAllHandler.evaluate
Product: [Eclipse Project] Platform Reporter: Andrey Loskutov <loskutov>
Component: IDEAssignee: Andrey Loskutov <loskutov>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 4.7   
Target Milestone: 4.7 M2   
Hardware: PC   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=459833
https://git.eclipse.org/r/78452
https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=1b93472b81701d38ca2ddd374272f7d928c28eb8
Whiteboard:

Description Andrey Loskutov CLA 2016-08-04 08:08:49 EDT
I've seen this once during debug session shutdown. Have no idea how to reproduce.

java.lang.NullPointerException
	at org.eclipse.ui.internal.handlers.SaveAllHandler.evaluate(SaveAllHandler.java:75)
	at org.eclipse.ui.internal.handlers.AbstractSaveHandler$1.evaluate(AbstractSaveHandler.java:48)
	at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:72)
	at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:97)
	at org.eclipse.ui.internal.services.EvaluationService.invalidate(EvaluationService.java:252)
	at org.eclipse.ui.internal.services.EvaluationService.dispose(EvaluationService.java:195)
	at org.eclipse.ui.internal.services.ServiceLocator.disposeServices(ServiceLocator.java:157)
	at org.eclipse.ui.internal.services.ServiceLocator.dispose(ServiceLocator.java:131)
	at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:3140)
	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1201)
Comment 1 Andrey Loskutov CLA 2016-08-04 08:32:48 EDT
It happens due the patch https://git.eclipse.org/r/#/c/78429/2: ServiceLocator.dispose() set "disposed" flag earlier now so the handler haven't received the expected service.

I think the patch 78429/2 is wrong in that sense, but the code in SaveAllHandler should also catch NPE's.
Comment 2 Eclipse Genie CLA 2016-08-04 08:40:49 EDT
New Gerrit change created: https://git.eclipse.org/r/78452