This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 425940 - [WPE] Web Page Editor fails to open as source pane cannot be created
Summary: [WPE] Web Page Editor fails to open as source pane cannot be created
Status: VERIFIED FIXED
Alias: None
Product: WTP Source Editing
Classification: WebTools
Component: wst.sse (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: 3.6 M5   Edit
Assignee: Nitin Dahyabhai CLA
QA Contact: Nick Sandonato CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-16 17:18 EST by Ian Trimble CLA
Modified: 2014-01-18 03:11 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Trimble CLA 2014-01-16 17:18:25 EST
The Web Page Editor fails to open on JSP files. The design pane is created (and functional, if the user clicks the "Design" tab after the failure), but the failure occurs during source pane creation.

The WTP version is I-3.6.0-20140116084902.

The following error is logged:
eclipse.buildId=4.4.0.I20131212-1600
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  --showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86_64 --showlocation

org.eclipse.e4.ui.workbench
Error
Thu Jan 16 14:06:30 PST 2014
Unable to create class 'org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor' from bundle '224'

org.eclipse.e4.core.di.InjectionException: java.lang.Error: Error: could not match input
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:877)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:857)
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:119)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:333)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:254)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:958)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:642)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:744)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:715)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:709)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:694)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:89)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:185)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4712)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:208)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:80)
	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:456)
	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:423)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:618)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:330)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1046)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3103)
	at org.eclipse.ui.internal.WorkbenchPage.access$21(WorkbenchPage.java:3025)
	at org.eclipse.ui.internal.WorkbenchPage$8.run(WorkbenchPage.java:3007)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3003)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2967)
	at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:338)
	at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:180)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4351)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1122)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1006)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:146)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:565)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226)
	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:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.Error: Error: could not match input
	at org.eclipse.jst.jsp.css.core.internal.parser.JSPedCSSTokenizer.zzScanError(JSPedCSSTokenizer.java:1671)
	at org.eclipse.jst.jsp.css.core.internal.parser.JSPedCSSTokenizer.primGetNextToken(JSPedCSSTokenizer.java:2023)
	at org.eclipse.jst.jsp.css.core.internal.parser.JSPedCSSTokenizer.getNextToken(JSPedCSSTokenizer.java:1272)
	at org.eclipse.wst.css.core.internal.parser.CSSSourceParser.getNextRegion(CSSSourceParser.java:209)
	at org.eclipse.wst.css.core.internal.parser.CSSSourceParser.parseNodes(CSSSourceParser.java:149)
	at org.eclipse.wst.css.core.internal.parser.CSSSourceParser.getDocumentRegions(CSSSourceParser.java:68)
	at org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser._core_reparse_text(StructuredDocumentReParser.java:355)
	at org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser.core_reparse(StructuredDocumentReParser.java:752)
	at org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser.reparse(StructuredDocumentReParser.java:1401)
	at org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser.reparse(StructuredDocumentReParser.java:1333)
	at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.updateModel(BasicStructuredDocument.java:2713)
	at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.internalReplaceText(BasicStructuredDocument.java:1923)
	at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.replaceText(BasicStructuredDocument.java:2423)
	at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.setText(BasicStructuredDocument.java:2610)
	at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument.setText(JobSafeStructuredDocument.java:188)
	at org.eclipse.wst.html.core.internal.htmlcss.StyleAttrAdapter.valueChanged(StyleAttrAdapter.java:237)
	at org.eclipse.wst.html.core.internal.htmlcss.StyleAttrAdapter.getModel(StyleAttrAdapter.java:71)
	at org.eclipse.wst.html.core.internal.htmlcss.StyleAttrAdapter.getStyle(StyleAttrAdapter.java:83)
	at org.eclipse.wst.html.core.internal.document.ElementStyleImpl.getStyle(ElementStyleImpl.java:55)
	at org.eclipse.wst.html.core.internal.htmlcss.CSSQueryTraverser.getDeclaration(CSSQueryTraverser.java:38)
	at org.eclipse.jst.pagedesigner.css2.CSSUtil.getCSSDeclaration(CSSUtil.java:174)
	at org.eclipse.jst.pagedesigner.css2.style.AbstractStyle.calculateDeclaration(AbstractStyle.java:143)
	at org.eclipse.jst.pagedesigner.css2.style.AbstractStyle.getDeclaration(AbstractStyle.java:159)
	at org.eclipse.jst.pagedesigner.css2.style.AbstractStyle.calculateProperty(AbstractStyle.java:201)
	at org.eclipse.jst.pagedesigner.css2.style.AbstractStyle.getStyleProperty(AbstractStyle.java:124)
	at org.eclipse.jst.pagedesigner.css2.style.AbstractStyle.getDisplay(AbstractStyle.java:536)
	at org.eclipse.jst.pagedesigner.css2.layout.CSSFigure.regetLayout(CSSFigure.java:148)
	at org.eclipse.jst.pagedesigner.css2.layout.CSSFigure.invalidateCSS(CSSFigure.java:95)
	at org.eclipse.jst.pagedesigner.css2.layout.CSSFigure.setCSSStyle(CSSFigure.java:79)
	at org.eclipse.jst.pagedesigner.figurehandler.DefaultFigureHandler.updateFigure(DefaultFigureHandler.java:32)
	at org.eclipse.jst.pagedesigner.figurehandler.FigureFactory.createFigureDeep(FigureFactory.java:55)
	at org.eclipse.jst.pagedesigner.figurehandler.FigureFactory.updateDeepFigure(FigureFactory.java:133)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.refresh(ElementEditPart.java:315)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.refresh(ElementEditPart.java:264)
	at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
	at org.eclipse.jst.pagedesigner.parts.NodeEditPart.addNotify(NodeEditPart.java:104)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.addNotify(ElementEditPart.java:155)
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.refresh(ElementEditPart.java:339)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.refresh(ElementEditPart.java:264)
	at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
	at org.eclipse.jst.pagedesigner.parts.NodeEditPart.addNotify(NodeEditPart.java:104)
	at org.eclipse.jst.pagedesigner.parts.ElementEditPart.addNotify(ElementEditPart.java:155)
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
	at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:781)
	at org.eclipse.jst.pagedesigner.parts.DocumentEditPart.refreshChildren(DocumentEditPart.java:134)
	at org.eclipse.jst.pagedesigner.parts.DocumentEditPart.refreshChildren(DocumentEditPart.java:126)
	at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:726)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:644)
	at org.eclipse.jst.pagedesigner.parts.DocumentEditPart.refresh(DocumentEditPart.java:114)
	at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
	at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
	at org.eclipse.jst.pagedesigner.parts.NodeEditPart.addNotify(NodeEditPart.java:104)
	at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
	at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart.java:105)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:617)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:626)
	at org.eclipse.jst.pagedesigner.editors.SimpleGraphicalEditor.setModel(SimpleGraphicalEditor.java:455)
	at org.eclipse.jst.pagedesigner.editors.HTMLEditor.connectDesignPage(HTMLEditor.java:377)
	at org.eclipse.jst.pagedesigner.editors.HTMLEditor.createPages(HTMLEditor.java:457)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:358)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:138)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:319)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	... 76 more
Comment 1 Raghunathan Srinivasan CLA 2014-01-16 17:26:05 EST
We are looking into it.
Comment 2 Ian Trimble CLA 2014-01-17 16:43:13 EST
It is not the source pane which fails initialization, it is the design pane, whereupon other panes and pages fail to initialize due to cascading failures throughout the editor.

There is an issue with CSS parsing in JSP files (and the Web Page Editor uses CSS when laying out the design pane). For example, paste the following content into an HTML file and a JSP file, and try to open both in the Web Page Editor; the HTML file will open and display correctly, the JSP file will open in a very broken state:
<html>
    <body>
        <span style="color:red;">Test</span>
    </body>
</html>

There have been no changes to Web Page Editor code for many weeks, and the smoke tests passed last week. In the past week, I see there have been some changes made in CSS parsing code. Please would the appropriate parties take a look at the changes made, and use the Web Page Editor as a simple test tool regarding recent changes?

This is currently preventing the weekly WTP build from being declared.

Thanks,
 - Ian
Comment 3 Nitin Dahyabhai CLA 2014-01-17 18:14:36 EST
Reverting the critical path in ElementImplForJSP#getEmbeddedStyleType() from the fix for bug 363564.
Comment 4 Nitin Dahyabhai CLA 2014-01-17 18:24:54 EST
Released to Master.
Comment 5 Ian Trimble CLA 2014-01-18 03:11:32 EST
Verified as fixed in WTP build I-3.6.0-20140118023607.