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

Bug 314553

Summary: Missing null check
Product: [Eclipse Project] PDE Reporter: Olivier Thomann <Olivier_Thomann>
Component: UIAssignee: PDE-UI-Inbox <pde-ui-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Olivier Thomann CLA 2010-05-26 14:42:33 EDT
Using eclipse.buildId=I20100525-0800
java.version=1.6.0_20-ea
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CA
Command-line arguments:  -os win32 -ws win32 -arch x86 -console,
 
java.lang.NullPointerException
at org.eclipse.pde.internal.core.PluginModelManager.handleChange(PluginModelManager.java:798)
at org.eclipse.pde.internal.core.PluginModelManager.modelsChanged(PluginModelManager.java:226)
at org.eclipse.pde.internal.core.AbstractModelManager.fireModelProviderEvent(AbstractModelManager.java:35)
at org.eclipse.pde.internal.core.WorkspaceModelManager.createAndFireEvent(WorkspaceModelManager.java:263)
at org.eclipse.pde.internal.core.WorkspacePluginModelManager.createAndFireEvent(WorkspacePluginModelManager.java:472)
at org.eclipse.pde.internal.core.WorkspaceModelManager.processModelChanges(WorkspaceModelManager.java:235)
at org.eclipse.pde.internal.core.WorkspaceModelManager.processModelChanges(WorkspaceModelManager.java:197)
at org.eclipse.pde.internal.core.WorkspacePluginModelManager.processModelChanges(WorkspacePluginModelManager.java:462)
at org.eclipse.pde.internal.core.WorkspaceModelManager.resourceChanged(WorkspaceModelManager.java:114)
at org.eclipse.jdt.internal.core.DeltaProcessingState$1.run(DeltaProcessingState.java:465)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:460)
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.checkpoint(Workspace.java:381)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:263)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)
at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

The two lines are:
ModelEntry entry = (ModelEntry) getEntryTable().get(oldID);
IPluginModelBase[] activeModels = entry.getActiveModels();

entry can be null and there is no check for null.

I got this by checking out all these projects:
org.eclipse.jdt.compiler.apt
org.eclipse.jdt.compiler.apt.tests
org.eclipse.jdt.compiler.tool
org.eclipse.jdt.core
org.eclipse.jdt.core.tests.builder
org.eclipse.jdt.core.tests.compiler
org.eclipse.jdt.core.tests.formatter
org.eclipse.jdt.core.tests.model
org.eclipse.jdt.core.tests.performance

and then I deleted all files into each project and I tried to commit them.
Don't worry. I am not doing this in the public CVS repository.
Comment 1 Dani Megert CLA 2011-08-31 10:24:38 EDT

*** This bug has been marked as a duplicate of bug 269369 ***