| Summary: | NullPointerException on Save when comparing 2 Files | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Hans Meier <eclipseBugs> | ||||
| Component: | Compare | Assignee: | Platform-Compare-Inbox <platform-compare-inbox> | ||||
| Status: | RESOLVED DUPLICATE | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | krzysztof.michalski, Szymon.Brandys | ||||
| Version: | 3.3 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
My report was actually not accurate, this happens when you have placed the 2 files 2 separate projects in packages with the same name. Then you select the 2 packages and do "Compare With" -> "Each Other" on the packages. Doing it only on the 2 files doesn't produce an error. It's duplicate of bug 190778. *** This bug has been marked as a duplicate of bug 190778 *** |
Created attachment 76626 [details] the 2 files Build ID: I20070621-1340 Steps To Reproduce: 1. Select the 2 .java files and do "Compare With" -> "Each Other" 2. Copy all text from the second file(right) and overwrite with it the contents of the first file(left) 3. Click on the first file(left) and save it with CTRL+S More information: The error message is: "Save" did not complete normally. Please see the log for more information. java.lang.NullPointerException In the Log: !STACK 0 java.lang.NullPointerException at org.eclipse.jface.text.AbstractDocument.computeIndexInPositionList(AbstractDocument.java:472) at org.eclipse.jface.text.AbstractDocument.addPosition(AbstractDocument.java:356) at org.eclipse.compare.structuremergeviewer.DocumentRangeNode.setAppendPosition(DocumentRangeNode.java:207) at org.eclipse.jdt.internal.ui.compare.JavaParseTreeBuilder.visit(JavaParseTreeBuilder.java:134) at org.eclipse.jdt.core.dom.ImportDeclaration.accept0(ImportDeclaration.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476) at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:294) at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.getStructure(JavaStructureCreator.java:243) at org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:97) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.createStructure(StructureDiffViewer.java:157) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.refresh(StructureDiffViewer.java:135) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.setInput(StructureDiffViewer.java:106) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:349) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$2.run(StructureDiffViewer.java:73) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$6.run(StructureDiffViewer.java:324) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:321) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$5.compareInputChanged(StructureDiffViewer.java:215) at org.eclipse.compare.structuremergeviewer.DiffNode.fireChange(DiffNode.java:138) at org.eclipse.compare.internal.ResourceCompareInput$MyDiffNode.fireChange(ResourceCompareInput.java:66) at org.eclipse.compare.internal.MergeViewerContentProvider.saveLeftContent(MergeViewerContentProvider.java:134) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.flushContent(ContentMergeViewer.java:1151) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.flushContent(TextMergeViewer.java:5346) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.flush(ContentMergeViewer.java:1125) at org.eclipse.compare.CompareEditorInput.flushViewer(CompareEditorInput.java:1013) at org.eclipse.compare.CompareEditorInput.flushViewers(CompareEditorInput.java:1006) at org.eclipse.compare.internal.ResourceCompareInput.getAdapter(ResourceCompareInput.java:434) at org.eclipse.ui.ide.ResourceUtil.getFile(ResourceUtil.java:57) at org.eclipse.ui.internal.ide.actions.BuildUtilities.findSelectedProjects(BuildUtilities.java:87) at org.eclipse.ui.actions.BuildAction.isEnabled(BuildAction.java:204) at org.eclipse.ui.actions.RetargetAction.setActionHandler(RetargetAction.java:272) at org.eclipse.ui.internal.ide.actions.RetargetActionWithDefault.setActionHandler(RetargetActionWithDefault.java:47) at org.eclipse.ui.actions.RetargetAction.propagateChange(RetargetAction.java:210) at org.eclipse.ui.actions.RetargetAction$1.propertyChange(RetargetAction.java:60) at org.eclipse.ui.SubActionBars.firePropertyChange(SubActionBars.java:290) at org.eclipse.ui.SubActionBars.fireActionHandlersChanged(SubActionBars.java:272) at org.eclipse.ui.SubActionBars.updateActionBars(SubActionBars.java:599) at org.eclipse.compare.internal.CompareHandlerService.updateActionBars(CompareHandlerService.java:121) at org.eclipse.compare.internal.CompareHandlerService.updatePaneActionHandlers(CompareHandlerService.java:151) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.connectGlobalActions(TextMergeViewer.java:2414) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.access$55(TextMergeViewer.java:2410) at org.eclipse.compare.contentmergeviewer.TextMergeViewer$23.focusLost(TextMergeViewer.java:2371) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:136) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1106) at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:3045) at org.eclipse.swt.widgets.Control.gtk_event_after(Control.java:2453) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1481) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973) at org.eclipse.swt.internal.gtk.OS._gtk_widget_grab_focus(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_widget_grab_focus(OS.java:8871) at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1919) at org.eclipse.swt.widgets.Composite.forceFocus(Composite.java:476) at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1913) at org.eclipse.swt.widgets.Control.setFocus(Control.java:3406) at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1168) at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1166) at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1166) at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1166) at org.eclipse.swt.widgets.Control.fixFocus(Control.java:132) at org.eclipse.swt.widgets.Control.setEnabled(Control.java:3386) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:743) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:274) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:253) at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:196) at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1345) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3184) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3197) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:73) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:475) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:429) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:165) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:821) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:879) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:568) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:126) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1423) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1100) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1110) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1137) at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:663) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2533) at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:679) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1486) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5593) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1192) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1487) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2969) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 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:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443) at org.eclipse.equinox.launcher.Main.run(Main.java:1169) The second time I tried, I got this error message: An internal error occurred during: "Update comparison Compare (ui-ui)". And in the Log: !STACK 0 java.lang.NullPointerException at org.eclipse.jface.text.AbstractDocument.computeIndexInPositionList(AbstractDocument.java:472) at org.eclipse.jface.text.AbstractDocument.addPosition(AbstractDocument.java:356) at org.eclipse.compare.structuremergeviewer.DocumentRangeNode.setAppendPosition(DocumentRangeNode.java:207) at org.eclipse.jdt.internal.ui.compare.JavaParseTreeBuilder.visit(JavaParseTreeBuilder.java:134) at org.eclipse.jdt.core.dom.ImportDeclaration.accept0(ImportDeclaration.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476) at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:294) at org.eclipse.jdt.internal.ui.compare.JavaStructureCreator.getStructure(JavaStructureCreator.java:243) at org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:97) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.createStructure(StructureDiffViewer.java:157) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$StructureInfo.refresh(StructureDiffViewer.java:135) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer$3.run(StructureDiffViewer.java:88) at org.eclipse.compare.internal.Worker.performNextTask(Worker.java:116) at org.eclipse.compare.internal.Worker.run(Worker.java:63) at org.eclipse.compare.internal.WorkerJob.run(WorkerJob.java:30) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)