Bug 205644 - NullPointerException while updating all incoming changes
Summary: NullPointerException while updating all incoming changes
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: platform-cvs-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 203852 216752 222719 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-10-06 17:45 EDT by Willian Mitsuda CLA
Modified: 2019-09-06 16:06 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Willian Mitsuda CLA 2007-10-06 17:45:18 EDT
I got into this while "Updating All Incoming Changes":

-- Error Log --
Date: Sat Oct 06 18:39:10 BRT 2007
Message: An internal error occurred during: "Updating all changes in CVS (Workspace)".
Severity: Error
Plugin ID: org.eclipse.core.jobs
Stack Trace:
java.lang.NullPointerException
at org.eclipse.team.core.mapping.provider.ResourceDiffTree.getResource(ResourceDiffTree.java:75)
at org.eclipse.team.internal.ccvs.ui.mappings.WorkspaceSubscriberContext.merge(WorkspaceSubscriberContext.java:243)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.internalMerge(CVSSubscriberMergeContext.java:198)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.access$0(CVSSubscriberMergeContext.java:129)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext$4.run(CVSSubscriberMergeContext.java:123)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext$3.run(CVSSubscriberMergeContext.java:85)
at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run(EclipseSynchronizer.java:1463)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext$2.run(CVSSubscriberMergeContext.java:82)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.team.core.mapping.provider.MergeContext.run(MergeContext.java:410)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.run(CVSSubscriberMergeContext.java:80)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.merge(CVSSubscriberMergeContext.java:121)
at org.eclipse.team.internal.ccvs.ui.mappings.WorkspaceSubscriberContext.merge(WorkspaceSubscriberContext.java:385)
at org.eclipse.ltk.ui.refactoring.model.AbstractResourceMappingMerger.merge(AbstractResourceMappingMerger.java:421)
at org.eclipse.team.ui.synchronize.ModelMergeOperation.performMerge(ModelMergeOperation.java:331)
at org.eclipse.team.ui.synchronize.ModelMergeOperation$5.run(ModelMergeOperation.java:282)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext$3.run(CVSSubscriberMergeContext.java:85)
at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run(EclipseSynchronizer.java:1463)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext$2.run(CVSSubscriberMergeContext.java:82)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.team.core.mapping.provider.MergeContext.run(MergeContext.java:410)
at org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.run(CVSSubscriberMergeContext.java:80)
at org.eclipse.team.ui.synchronize.ModelMergeOperation.performMerge(ModelMergeOperation.java:275)
at org.eclipse.team.internal.ui.mapping.MergeAllOperation$1.executeMerge(MergeAllOperation.java:67)
at org.eclipse.team.ui.synchronize.ModelMergeOperation.execute(ModelMergeOperation.java:126)
at org.eclipse.team.ui.synchronize.ModelOperation.run(ModelOperation.java:106)
at org.eclipse.team.internal.ui.mapping.MergeAllOperation.execute(MergeAllOperation.java:107)
at org.eclipse.team.ui.mapping.SynchronizationOperation.run(SynchronizationOperation.java:120)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Tomasz Zarna CLA 2007-10-08 10:02:23 EDT
I'm not sure how could you get an NPE there. Could you give us some more details on that? Any steps to reproduce?
Comment 2 Michael Valenta CLA 2007-10-08 15:08:04 EDT
Could you also indicate what Eclipse build you are running?
Comment 3 Willian Mitsuda CLA 2007-10-15 18:57:33 EDT
Hi, I'm using Eclipse 3.3.

It happened only once after a normal "Update All Incoming Changes", and I unfortunately cannot reproduce in a repeatable way.
Comment 4 Tomasz Zarna CLA 2008-03-04 09:30:18 EST
Snippet from the org.eclipse.team.internal.ccvs.ui.mappings.CVSSubscriberMergeContext.internalMerge(IDiff[], boolean, IProgressMonitor):

	IDiff currentDiff = getSubscriber().getDiff(resource);
	merge(currentDiff, ignoreLocalChanges, monitor);
	
Javadoc for org.eclipse.team.core.subscribers.Subscriber.getDiff(IResource) says:

"@return the diff for the resource or <code>null</code>"

So the currentDiff can be null, and in consequence the NPE to be thrown. I reckon we will need to add a null check somewhere around.
Comment 5 Tomasz Zarna CLA 2008-03-25 06:21:25 EDT
*** Bug 203852 has been marked as a duplicate of this bug. ***
Comment 6 Tomasz Zarna CLA 2008-03-25 06:22:07 EDT
*** Bug 216752 has been marked as a duplicate of this bug. ***
Comment 7 Tomasz Zarna CLA 2008-03-25 06:25:20 EDT
*** Bug 222719 has been marked as a duplicate of this bug. ***
Comment 8 Willian Mitsuda CLA 2008-05-17 17:12:21 EDT
I got this again in Eclipse 3.4 M7.
Comment 9 Kim Horne CLA 2008-12-12 09:01:07 EST
I just got a variety of this bug when upgrading from I20081209-0100 to I20081211-1908.  It appeared immediately after restart.  The stack in this case is:

Problems occurred when invoking code from plug-in: "org.eclipse.jface".

java.lang.NullPointerException
at org.eclipse.team.core.mapping.provider.ResourceDiffTree.getResource(ResourceDiffTree.java:74)
at org.eclipse.team.core.mapping.provider.ResourceDiffTree.getAffectedResources(ResourceDiffTree.java:160)
at org.eclipse.team.internal.core.subscribers.DiffChangeSet.getResources(DiffChangeSet.java:48)
at org.eclipse.team.internal.ccvs.ui.mappings.ChangeSetLabelProvider.isBusy(ChangeSetLabelProvider.java:98)
at org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider.getFont(AbstractSynchronizeLabelProvider.java:373)
at org.eclipse.team.internal.ccvs.ui.mappings.ChangeSetLabelProvider.getFont(ChangeSetLabelProvider.java:208)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceLabelProvider.getFont(NavigatorContentServiceLabelProvider.java:205)
at org.eclipse.ui.internal.navigator.NavigatorDecoratingLabelProvider$StyledLabelProviderAdapter.getFont(NavigatorDecoratingLabelProvider.java:127)
at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.getFont(DelegatingStyledCellLabelProvider.java:168)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.getFont(DecoratingStyledCellLabelProvider.java:163)
at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:119)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.update(DecoratingStyledCellLabelProvider.java:134)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:145)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:932)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:874)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1012)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1824)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1787)
at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:473)
at org.eclipse.team.internal.ui.mapping.CommonViewerAdvisor$NavigableCommonViewer.internalRefresh(CommonViewerAdvisor.java:61)
at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1457)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1365)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:397)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1328)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1455)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:300)
at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:420)
at org.eclipse.team.internal.ccvs.ui.mappings.ChangeSetContentProvider$2.run(ChangeSetContentProvider.java:290)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.team.internal.ui.Utils$5.run(Utils.java:846)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3340)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3069)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
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:366)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:550)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:505)
at org.eclipse.equinox.launcher.Main.run(Main.java:1237)
Comment 10 Frederic Fusier CLA 2009-09-01 06:03:51 EDT
I got this exception again with build I20090825-1032
Comment 11 Eclipse Webmaster CLA 2019-09-06 16:06:33 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.