Bug 92503 - xerces config conflicts not well handled.
Summary: xerces config conflicts not well handled.
Status: RESOLVED WORKSFORME
Alias: None
Product: WTP Source Editing
Classification: WebTools
Component: wst.xml (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2005-04-23 16:55 EDT by Bill Brown CLA
Modified: 2007-11-28 12:49 EST (History)
1 user (show)

See Also:


Attachments
eclipse configuration settings. (73.32 KB, text/plain)
2005-04-23 16:56 EDT, Bill Brown CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Brown CLA 2005-04-23 16:55:12 EDT
Greetings:

Im thinking the JKD im using must be missing the parser eclipse is looking for.
 I had this exception when attempting to open an htm file in the eclipse editor.  
I believe I'm running the latest builds for everything.  I'll attach my
configuration as a .txt file.  Let me know what else I can do to help here.

 
javax.xml.parsers.FactoryConfigurationError: Provider
org.apache.xerces.jaxp.SAXParserFactoryImpl not found
	at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:113)
	at
org.eclipse.wst.xml.uriresolver.internal.XMLCatalogPersistence.load(XMLCatalogPersistence.java:93)
	at
org.eclipse.wst.xml.uriresolver.internal.XMLCatalogPersistence.load(XMLCatalogPersistence.java:64)
	at
org.eclipse.wst.xml.uriresolver.internal.XMLCatalogPersistence.load(XMLCatalogPersistence.java:56)
	at
org.eclipse.wst.xml.uriresolver.internal.DefaultCatalogImpl.<init>(DefaultCatalogImpl.java:33)
	at
org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin.getDefaultXMLCatalog(XMLCatalogPlugin.java:42)
	at
org.eclipse.wst.xml.core.modelquery.XMLCatalogIdResolver.resolveId(XMLCatalogIdResolver.java:62)
	at
org.eclipse.wst.xml.core.modelquery.XMLCatalogIdResolver.resolveId(XMLCatalogIdResolver.java:55)
	at
org.eclipse.wst.html.core.modelquery.XHTMLAssociationProvider.getXHTMLCMDocument(XHTMLAssociationProvider.java:59)
	at
org.eclipse.wst.html.core.modelquery.HTMLModelQueryCMProvider.getCorrespondingCMDocument(HTMLModelQueryCMProvider.java:65)
	at
org.eclipse.wst.common.contentmodel.modelqueryimpl.SimpleAssociationProvider.getCorrespondingCMDocument(SimpleAssociationProvider.java:36)
	at
org.eclipse.wst.common.contentmodel.modelqueryimpl.ModelQueryImpl.getCorrespondingCMDocument(ModelQueryImpl.java:96)
	at
org.eclipse.wst.html.core.commentelement.handlers.CommentElementHandlerForSSI.createElement(CommentElementHandlerForSSI.java:41)
	at
org.eclipse.wst.xml.core.commentelement.impl.CommentElementConfiguration.createElement(CommentElementConfiguration.java:77)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelParser.createCommentElement(XMLModelParser.java:718)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelParser.insertComment(XMLModelParser.java:917)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelParser.insertStructuredDocumentRegion(XMLModelParser.java:1517)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelParser.replaceStructuredDocumentRegions(XMLModelParser.java:2300)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelImpl.newModel(XMLModelImpl.java:575)
	at
org.eclipse.wst.xml.core.internal.document.XMLModelImpl.setStructuredDocument(XMLModelImpl.java:838)
	at
org.eclipse.wst.sse.core.AbstractModelLoader.createModel(AbstractModelLoader.java:115)
	at
org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:444)
	at
org.eclipse.wst.sse.core.ModelManagerImpl._getModelFor(ModelManagerImpl.java:400)
	at
org.eclipse.wst.sse.core.ModelManagerImpl.getModelForEdit(ModelManagerImpl.java:1163)
	at
org.eclipse.wst.sse.ui.StructuredTextEditor.doSetInput(StructuredTextEditor.java:1294)
	at
org.eclipse.ui.texteditor.AbstractTextEditor$16.run(AbstractTextEditor.java:2345)
	at
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
	at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:624)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:621)
	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1975)
	at
org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:2363)
	at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:2390)
	at org.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:1924)
	at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:857)
	at
org.eclipse.ui.internal.EditorManager.busyRestoreEditorHelper(EditorManager.java:1223)
	at org.eclipse.ui.internal.EditorManager.busyRestoreEditor(EditorManager.java:1102)
	at org.eclipse.ui.internal.EditorManager$7.run(EditorManager.java:1064)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.ui.internal.EditorManager.restoreEditor(EditorManager.java:1062)
	at org.eclipse.ui.internal.EditorManager$Editor.getEditor(EditorManager.java:1648)
	at org.eclipse.ui.internal.EditorManager$Editor.getPart(EditorManager.java:1639)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:260)
	at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
	at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.select(PresentablePartFolder.java:268)
	at
org.eclipse.ui.internal.presentations.newapi.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at
org.eclipse.ui.internal.presentations.newapi.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
	at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1070)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1019)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1223)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:406)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:109)
	at
org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:267)
	at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.java:829)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:809)
	at
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:697)
	at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:660)
	at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2236)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2165)
	at org.eclipse.ui.internal.WorkbenchPage.access$7(WorkbenchPage.java:2157)
	at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2143)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2138)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2123)
	at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:278)
	at org.eclipse.ui.actions.OpenWithMenu.access$0(OpenWithMenu.java:270)
	at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:177)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2778)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2472)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1570)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1534)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:306)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:228)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:156)
	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:585)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:315)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:268)
	at org.eclipse.core.launcher.Main.run(Main.java:942)
	at org.eclipse.core.launcher.Main.main(Main.java:926)
Comment 1 Bill Brown CLA 2005-04-23 16:56:43 EDT
Created attachment 20268 [details]
eclipse configuration settings. 

This is the configuration for the eclipse where this error occured.
Comment 2 David Williams CLA 2005-04-23 20:40:43 EDT
Changeing component to more specific XML one since this is 
related to XML catalog's use of SAX parser. 
Comment 3 David Williams CLA 2005-04-23 20:50:46 EDT
Thanks for the attachment showing your config. 
The main thing I see there is that you are running
on jdk1.5.0_01. 
Technically speaking, we only support running on Java 1.4.x. 

I have heard rumors there are issues with the Java 1.5
JAXP 1.3 "hard coding" certain configuration items that don't 
"play nice" with Xerces, so this might be one of those cases. 

So ... I'm not sure we can fix, exactly, but we will investigate
and at a minimum, try to reduce the error to logging "incorrect config for XML
Catalog" and see if we can at least continue running so the editor opens (though, 
without the XML Catalog, many functions would be limited). And, I suspect, 
this issue would bite us in other areas and this just happens to be 
one of the first hit. 

BTW, just for information as we explore this, some configuration issues 
are detailed in http://xml.apache.org/xerces2-j/faq-xni.html#faq-2
I'm not sure directly related (but I'd forget if I don't paste it here :)

Thanks. 

Comment 4 David Williams CLA 2005-04-23 21:04:37 EDT
Oh, I just noticed another important part of your config: 
/usr/local/jdk1.5.0_01/jre/lib/ext/
has xerces in it?!

I assume you did that "manually"? Is there a reason/need you have for that?
We now have a xerces plugin as part of our WTP "stack". Will that 
remove your need to have in jre/lib/ext?
Is there a particular version of xerces you were wanting/needing? Or 
is this just something that's been there for a while?
[And if you don't know that you need them, could you try removing
and see if problem goes away?]

Thanks again. 
Comment 5 Bill Brown CLA 2005-04-24 17:14:34 EDT
Greetings:

Thanks for the Xerces hint David.  Removing the Xerxes jars form jre/lib/ext
seems to fix this issue so far.  I am not sure why I added the xerces jars there
in the first place.  Doesn't the Sun JDK come with an default SAX and DOM
implementation?  I think it was crimson at one point and was changed to xerces.
 I'm not sure so I'll have to check.  Let me know if you need me to report more
info regarding this issue otherwise it is safe to close it on my end. 

Thanks.
Bill. 
Comment 6 David Williams CLA 2005-04-25 23:10:50 EDT
Thanks for testing the "fix" Bill. 

Instead of closing this, I'm going to change abstract and change
to an "enhancement". Hopefully, in future milestone/version we can do a better 
job of at least logging "probable xerces config problem" if not actually 
display warning, or something. 
Comment 7 David Williams CLA 2005-04-25 23:18:23 EDT
Oh, and to answer your question, Bill, we are including Xerces in the plugin
stack since we need it for some special validation functions which are not in
the JDK standard "DOM Parsers". Our thinking, so far, is that its better for us
to provide an explicit known version than to rely on (multiple copies of)
implicit versions. 

We'll see how it turns out. :)
Comment 8 Pablo Figueroa CLA 2007-01-25 17:14:25 EST
(In reply to comment #7)

I had a similar error. I could not see my Help Contents in my Mac installation. The solution was to delete all xerces and xalan related files from my /Library/Java/Extensions directory.
Comment 9 Nitin Dahyabhai CLA 2007-09-13 03:53:03 EDT
Still worth doing, but we don't have people to work on this just now.  We would accept high quality patches, though.
Comment 10 David Williams CLA 2007-11-28 12:49:33 EST
Closing as "works for me", as I think from 3.3 on, our version of xerces should automagically be used instead of the one from "java extensions" directory. 

And, we have no plans to do any more work for older versions.