eclipse-platform / eclipse-platform/eclipse.platform
NPE in org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:451)
- Dominant language
- Java
- Stars
- 165
- Forks
- 174
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 22
Description
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)
Contributor guide
Assessment
This issue has not been assessed yet.