Bug 222675 - [WPE] Cannot view Preview page
Summary: [WPE] Cannot view Preview page
Status: RESOLVED FIXED
Alias: None
Product: Java Server Faces
Classification: WebTools
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 3.1.2   Edit
Assignee: Raghunathan Srinivasan CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 212310 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-03-13 17:32 EDT by Ian Trimble CLA
Modified: 2010-02-17 16:16 EST (History)
5 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 2008-03-13 17:32:53 EDT
When trying to switch to the WPE Preview page, the following occurs and the page does not display:

java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) previously initiated loading for a different type with name "javax/servlet/jsp/el/VariableResolver"
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:165)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:503)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:473)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:432)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:415)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:354)
	at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:418)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:383)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:371)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
	at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
	at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
	at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
	at org.eclipse.jst.pagedesigner.preview.PageExpressionContext.evaluateExpression(PageExpressionContext.java:131)
	at org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverterDecorator.resolveChildText(DTTagConverterDecorator.java:164)
	at org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverterDecorator.decorateFromDTInfo(DTTagConverterDecorator.java:92)
	at org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverterDecorator.decorate(DTTagConverterDecorator.java:62)
	at org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverter.convertRefresh(DTTagConverter.java:75)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:93)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:100)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:100)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:100)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:100)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvertElement(PreviewConvertContext.java:100)
	at org.eclipse.jst.pagedesigner.preview.PreviewConvertContext.previewConvert(PreviewConvertContext.java:56)
	at org.eclipse.jst.pagedesigner.preview.PreviewHandlerNew.generatePreview(PreviewHandlerNew.java:97)
	at org.eclipse.jst.pagedesigner.editors.HTMLEditor.pageChange(HTMLEditor.java:961)
	at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:260)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:982)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1006)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:991)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:749)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3236)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2011)
	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:316)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:982)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3760)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3371)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2392)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2356)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2222)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:474)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:469)
	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:193)
	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:362)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
	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:564)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1251)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1227)
Comment 1 Ian Trimble CLA 2008-03-13 17:34:40 EDT
WTP build I-I20080313113126.
Comment 2 Ian Trimble CLA 2008-03-13 18:03:03 EDT
We have multiple copies of javax.servlet, javax.servlet.jsp, and org.apache.commons.el (plus others that may not affect us) plug-ins yet again. One set is contributed by Eclipse SDK, the other by WTP SDK.

This has bitten us multiple times, and the bigger issues keep being overlooked:
1) since they're versioned, why is there a conflict?
2) we can't control what other plug-ins end-users will install alongside WTP, and so ensuring platform and WTP are in-synch is not a real solution - issue #1 needs to be investigated.
Comment 3 Cameron Bateman CLA 2008-03-13 18:08:43 EDT
There were packaging issues in earlier I-builds this week that may have something to do with this.  CC'ing DW.  Is this possible David?
Comment 4 David Williams CLA 2008-03-13 18:43:22 EDT
(In reply to comment #3)
> There were packaging issues in earlier I-builds this week that may have
> something to do with this.  CC'ing DW.  Is this possible David?
> 

The packaging issue is probably that Platform has moved up to latest I-build from Orbit, whereas we in WTP have not yet (we reverted due to unrelated issues). 

But, Ian's right ... the larger picture keeps getting ignored. 

There's some code somewhere that ends up with a mis-match of classloaders. 
Not sure if it's in the core of org.apache.commons.el or our code. 
But "we" need to look for a solution other than making sure there's only one version of the plugins in the stack. 

I'll try to help, eventually, but may take a while. 

Comment 5 David Williams CLA 2008-03-13 19:14:52 EDT
I should add, another thing that would help is to question if we even need to redistribute javax.servlet, javax.servlet.jsp, and org.apache.commons.el.

I think we did originally because I thought they were optional, maybe even incubating in equinox. If these have become a standard part of the equinox (platform) distribution, then there probably is no reason for us to do so, since they would always be present. 

Does anyone know for sure? Tim has mentioned this to me before, so am CC'ing him. 

If we didn't re-distribute, the fundamental problem would still be there, but would be much less likely, especially during "routine" installations. 
Comment 6 David Williams CLA 2008-03-13 21:49:59 EDT
See also bug 212310 for previous report of this issue. 

I have checked, and those three 3rd party jars are shipped in the platform runtime, so I would recommend we remove from our features, so we do not redistribute them. 

Thought I'd still like the real issue investigated. I think there's possibility that we in WTP may even want to ship different (more recent) versions of those jars sometime soon? 

Comment 7 David Williams CLA 2008-03-14 00:56:17 EDT
I've removed from our "include" plugins (in jst.web_core) so this shouldn't be a problem in our final declared build. 

I did make sure all are listed in the "requires" section, though doubt that would matter with current packages. 

Comment 8 Ian Trimble CLA 2008-03-14 13:34:27 EDT
Confirmed things are working again with build I-I20080314073909.

The fact that another feature may install other versions of plug-ins that may conflict is not far enough outside the realm of possibility for me to consider this *really* fixed, though, so not changing status of the issue at this time.
Comment 9 David Williams CLA 2008-03-14 14:34:26 EDT
I assumed bug 212310 could serve as the on-going bug ... but if you'd prefer this one (more is written in it, so that'd make some sense) then you could re-open this one, and close bug 212310 as a dup of this). 
Comment 10 Ian Trimble CLA 2008-03-14 14:51:23 EDT
Reopening and resolving 212310 as a duplicate of this (this bug has more discussion, so making this the tracking bug).
Comment 11 Ian Trimble CLA 2008-03-14 14:52:09 EDT
*** Bug 212310 has been marked as a duplicate of this bug. ***
Comment 12 David Williams CLA 2008-07-23 23:14:05 EDT
I'm untargeting, since the 3.0 RC target is obviously no longer accurate. 
Comment 13 Raghunathan Srinivasan CLA 2009-01-22 14:13:20 EST
dropped the severity to normal.
Comment 14 Raghunathan Srinivasan CLA 2010-02-17 16:16:27 EST
Fixed in 3.1.2