Community
Participate
Working Groups
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)
I'm not sure how could you get an NPE there. Could you give us some more details on that? Any steps to reproduce?
Could you also indicate what Eclipse build you are running?
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.
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.
*** Bug 203852 has been marked as a duplicate of this bug. ***
*** Bug 216752 has been marked as a duplicate of this bug. ***
*** Bug 222719 has been marked as a duplicate of this bug. ***
I got this again in Eclipse 3.4 M7.
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)
I got this exception again with build I20090825-1032
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.