Community
Participate
Working Groups
Created attachment 254497 [details] Error screenshot. Eclipse :Luna eclipse.buildId =4.4.2.M20150204-1700 java.version=1.8.0_45 Vex Editor: 1.1.0.201411222129 Steps to replicate. 1. Open same file in Vex and default Eclipse XML Editor. 2. Edit the File in the eclipse XML editor. 3. When you switch to the VEX Editor the following exception is shown. !ENTRY org.eclipse.vex.ui 4 0 2015-06-17 13:02:54.483 !MESSAGE Unexpected error opening html.xml. Please report a bug at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Mylyn%20Docs%20Vex !STACK 0 java.lang.NullPointerException at org.eclipse.vex.core.provisional.dom.ContentPosition.<init>(ContentPosition.java:55) at org.eclipse.vex.ui.internal.editor.VexEditor.setInputFromProvider(VexEditor.java:808) at org.eclipse.vex.ui.internal.editor.VexEditor.handleEditorActivated(VexEditor.java:1332) at org.eclipse.vex.ui.internal.editor.VexEditor.access$17(VexEditor.java:1322) at org.eclipse.vex.ui.internal.editor.VexEditor$ActivationListener.handleActivation(VexEditor.java:1516) at org.eclipse.vex.ui.internal.editor.VexEditor$ActivationListener.partActivated(VexEditor.java:1469) at org.eclipse.ui.internal.PartService$1.run(PartService.java:84) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.PartService.partActivated(PartService.java:81) at org.eclipse.ui.internal.WorkbenchPage$16.run(WorkbenchPage.java:4861) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4858) at org.eclipse.ui.internal.WorkbenchPage.access$18(WorkbenchPage.java:4846) at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:210) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:241) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:238) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:692) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:620) at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:106) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:61) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070) at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1453) at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2334) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4654) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1626) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2075) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2544) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:79) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036) at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3141) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Spotted the problem: org.eclipse.vex.ui.internal.editor.VexEditor.setInputFromProvider(VexEditor.java:808) calls new ContentPosition(null, ...); should use the document to which the nodeAtCaret is associated.
New Gerrit change created: https://git.eclipse.org/r/50832
The new ContentPosition(null, ...) constructor was used in an early version of the ContentPosition implementation. Somehow this and a couple of other calls have not been updated when the class was changed. The change fixes all this calls and adds some additional tests.
Gerrit change https://git.eclipse.org/r/50832 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.docs.vex.git/commit/?id=0daf61eedf8b57fc45bf8ddd6bf884ee8ec14234