NPE in org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:451)
If I have compare editors open and move around in the Git history I frequently get the following NPE.
I assume the input object for the compare editor changed and this situation is not catched in the framework.
java.lang.NullPointerException: Cannot read the array length because "e" is null at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:451) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3526) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$23.runInUIThread(TextMergeViewer.java:3152) at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4043) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3648) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:470) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:230) at org.eclipse.ui.internal.progress.ProgressManager.lambda$26(ProgressManager.java:827) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:860) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:836) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:994) at org.eclipse.compare.internal.Utilities.executeRunnable(Utilities.java:948) at org.eclipse.compare.internal.CompareContainer.run(CompareContainer.java:70) at org.eclipse.compare.CompareEditorInput.run(CompareEditorInput.java:1317) at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:417) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3526) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:5384) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo$1.runInUIThread(TextMergeViewer.java:1093) at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4043) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3648) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:470) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:230) at org.eclipse.ui.internal.progress.ProgressManager.lambda$26(ProgressManager.java:827) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:860) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:836) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:994) at org.eclipse.compare.internal.Utilities.executeRunnable(Utilities.java:948) at org.eclipse.compare.internal.CompareContainer.run(CompareContainer.java:70) at org.eclipse.compare.CompareEditorInput.run(CompareEditorInput.java:1317) at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:417) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:3526) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$23.runInUIThread(TextMergeViewer.java:3152) at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4043) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3648) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
got it too