Community
Participate
Working Groups
Using 3.6M7 I synchronized a project shared with CVS, looked at a diff, then updated the project in the synchronize view. A NPE then occurred with a dialog brought to focus: java.lang.NullPointerException at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:462) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3275) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4982) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$2.runInUIThread(TextMergeViewer.java:1046) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
Another exception logged at the same time: org.eclipse.swt.SWTException: Graphic is disposed at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.SWT.error(SWT.java:3969) at org.eclipse.swt.graphics.Image.getBounds(Image.java:821) at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:262) at org.eclipse.swt.custom.CLabel.computeSize(CLabel.java:161) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.getHeaderHeight(ContentMergeViewer.java:1129) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.getViewportHeight(TextMergeViewer.java:4722) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateVScrollBar(TextMergeViewer.java:4822) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateLines(TextMergeViewer.java:3849) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.documentChanged(TextMergeViewer.java:2957) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.access$15(TextMergeViewer.java:2945) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.documentChanged(TextMergeViewer.java:1146) at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:769) at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:736) at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:721) at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:796) at org.eclipse.jface.text.AbstractDocument.set(AbstractDocument.java:1237) at org.eclipse.core.internal.filebuffers.SynchronizableDocument.set(SynchronizableDocument.java:223) at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.handleFileContentChanged(ResourceTextFileBuffer.java:508) at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$2.execute(ResourceFileBuffer.java:151) at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$SafeFileChange.run(ResourceFileBuffer.java:86) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
This may have the same reason as bug 273951, i.e. the editor is closed while update is still taking place. From our observation this is most likely to happen on dual-core machines. Bug 304693 is about improving the editor to be multi-threading-proof or even better to take advantage of multi-threading.
(In reply to comment #2) > From our observation this is most likely to > happen on dual-core machines. Bug 304693 is about improving the editor to be > multi-threading-proof or even better to take advantage of multi-threading. Ok, sounds plausible as I'm on an 8-core machine here.
Not sure if this is the same, but I get this several times daily (intel xeon quad core E5420). !ENTRY org.eclipse.ui 4 4 2011-06-21 13:20:20.940 !MESSAGE An internal error has occurred. !STACK 0 java.lang.NullPointerException at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:494) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3275) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4999) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$2.runInUIThread(TextMergeViewer.java:1046) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:960) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:995) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:970) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1166) at org.eclipse.compare.internal.CompareContainer.run(CompareContainer.java:80) at org.eclipse.compare.CompareEditorInput.run(CompareEditorInput.java:1406) at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:460) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3275) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4999) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$2.runInUIThread(TextMergeViewer.java:1046) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Same in Eclipse 4.2 !ENTRY org.eclipse.team.ui 4 2 2012-10-05 11:53:34.704 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.team.ui". !STACK 0 java.lang.NullPointerException at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:494) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3275) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4999) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateContent(TextMergeViewer.java:2847) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:743) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.refresh(ContentMergeViewer.java:718) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.handleCompareInputChange(ContentMergeViewer.java:1312) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.handleCompareInputChange(TextMergeViewer.java:4960) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer$3.compareInputChanged(ContentMergeViewer.java:350) at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$4.run(SaveableCompareEditorInput.java:320) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput.propogateInputChange(SaveableCompareEditorInput.java:318) at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$1.compareInputChanged(SaveableCompareEditorInput.java:173) at org.eclipse.team.internal.ui.mapping.AbstractCompareInput$1.run(AbstractCompareInput.java:74) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.team.internal.ui.mapping.AbstractCompareInput.fireChange(AbstractCompareInput.java:72) at org.eclipse.team.internal.ui.mapping.ResourceDiffCompareInput.fireChange(ResourceDiffCompareInput.java:168) at org.eclipse.team.internal.ui.mapping.ResourceDiffCompareInput.update(ResourceDiffCompareInput.java:292) at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier.fireChange(CompareInputChangeNotifier.java:389) at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier.fireChanges(CompareInputChangeNotifier.java:295) at org.eclipse.team.internal.ui.mapping.CompareInputChangeNotifier$1.run(CompareInputChangeNotifier.java:253) at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164) at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3529) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3182) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
This still exists in Neon
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. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. 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. -- The automated Eclipse Genie.