Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XML class definition not found. #99

Closed
whitingjr opened this issue Jan 25, 2018 · 2 comments
Closed

XML class definition not found. #99

whitingjr opened this issue Jan 25, 2018 · 2 comments

Comments

@whitingjr
Copy link
Collaborator

I have had a bug report of a NoClassDefFoundError. When using the 1.4 release.

java.lang.NoClassDefFoundError: org/apache/xerces/dom/DocumentImpl
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
	com.sun.org.apache.xerces.internal.utils.ObjectFactory.findProviderClass(ObjectFactory.java:209)
	com.sun.org.apache.xerces.internal.utils.ObjectFactory.findProviderClass(ObjectFactory.java:179)
	com.sun.org.apache.xerces.internal.parsers.AbstractDOMParser.setDocumentClassName(AbstractDOMParser.java:349)
	com.sun.org.apache.xerces.internal.parsers.AbstractDOMParser.reset(AbstractDOMParser.java:427)
	com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:140)
	com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
	com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
	javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
	org.chiba.xml.xforms.ChibaBean.setXMLContainer(Unknown Source)
	org.chiba.adapter.AbstractChibaAdapter.setXForms(Unknown Source)
	com.sun.faban.harness.webclient.XFormServlet$Adapter.init(XFormServlet.java:398)
	com.sun.faban.harness.webclient.XFormServlet.doGet(XFormServlet.java:222)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.sun.faban.harness.engine.InitFilter.doFilter(InitFilter.java:65)

The cause is the class is not available in the same class loader requested now to the class loader when it was earlier loaded. Really the first class loader that loads the class should be the endorsed extensions loader.

@whitingjr
Copy link
Collaborator Author

whitingjr commented May 30, 2018

Also are seen exceptions like this

<record>
  <date>2018-05-24T23:03:21</date>
  <millis>1527195801435</millis>
  <sequence>22</sequence>
  <logger>com.sun.faban.harness.webclient.XFormServlet</logger>
  <level>SEVERE</level>
  <class>com.sun.faban.harness.webclient.XFormServlet</class>
  <method>doGet</method>
  <thread>36</thread>
  <message>Exception processing XForms</message>
  <exception>
    <message>org.chiba.xml.xforms.exception.XFormsException: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to org.apache.xerces.dom.NodeImpl</message>
    <frame>
      <class>org.chiba.xml.xforms.Container</class>
      <method>dispatch</method>
    </frame>
    <frame>
      <class>org.chiba.xml.xforms.Container</class>
      <method>dispatch</method>
    </frame>
    <frame>
      <class>org.chiba.xml.xforms.Container</class>
      <method>initModels</method>
    </frame>
    <frame>
      <class>org.chiba.xml.xforms.Container</class>
      <method>init</method>
    </frame>
    <frame>
      <class>org.chiba.xml.xforms.ChibaBean</class>
      <method>init</method>
    </frame>
    <frame>
      <class>com.sun.faban.harness.webclient.XFormServlet$Adapter</class>
      <method>init</method>
      <line>431</line>
    </frame>
    <frame>
      <class>com.sun.faban.harness.webclient.XFormServlet</class>
      <method>doGet</method>
      <line>230</line>
    </frame>
    <frame>
      <class>javax.servlet.http.HttpServlet</class>
      <method>service</method>
      <line>689</line>
    </frame>
    <frame>
      <class>javax.servlet.http.HttpServlet</class>
      <method>service</method>
      <line>802</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.ApplicationFilterChain</class>
      <method>internalDoFilter</method>
      <line>237</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.ApplicationFilterChain</class>
      <method>doFilter</method>
      <line>157</line>
    </frame>
    <frame>
      <class>com.sun.faban.harness.engine.InitFilter</class>
      <method>doFilter</method>
      <line>65</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.ApplicationFilterChain</class>
      <method>internalDoFilter</method>
      <line>186</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.ApplicationFilterChain</class>
      <method>doFilter</method>
      <line>157</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardWrapperValve</class>
      <method>invoke</method>
      <line>214</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardValveContext</class>
      <method>invokeNext</method>
      <line>104</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardPipeline</class>
      <method>invoke</method>
      <line>520</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardContextValve</class>
      <method>invokeInternal</method>
      <line>198</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardContextValve</class>
      <method>invoke</method>
      <line>152</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardValveContext</class>
      <method>invokeNext</method>
      <line>104</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardPipeline</class>
      <method>invoke</method>
      <line>520</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardHostValve</class>
      <method>invoke</method>
      <line>137</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardValveContext</class>
      <method>invokeNext</method>
      <line>104</line>
    </frame>
    <frame>
      <class>org.apache.catalina.valves.ErrorReportValve</class>
      <method>invoke</method>
      <line>117</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardValveContext</class>
      <method>invokeNext</method>
      <line>102</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardPipeline</class>
      <method>invoke</method>
      <line>520</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardEngineValve</class>
      <method>invoke</method>
      <line>109</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardValveContext</class>
      <method>invokeNext</method>
      <line>104</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.StandardPipeline</class>
      <method>invoke</method>
      <line>520</line>
    </frame>
    <frame>
      <class>org.apache.catalina.core.ContainerBase</class>
      <method>invoke</method>
      <line>929</line>
    </frame>
    <frame>
      <class>org.apache.coyote.tomcat5.CoyoteAdapter</class>
      <method>service</method>
      <line>160</line>
    </frame>
    <frame>
      <class>org.apache.coyote.http11.Http11Processor</class>
      <method>process</method>
      <line>799</line>
    </frame>
    <frame>
      <class>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler</class>
      <method>processConnection</method>
      <line>705</line>
    </frame>
    <frame>
      <class>org.apache.tomcat.util.net.TcpWorkerThread</class>
      <method>runIt</method>
      <line>577</line>
    </frame>
    <frame>
      <class>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable</class>
      <method>run</method>
      <line>683</line>
    </frame>
    <frame>
      <class>java.lang.Thread</class>
      <method>run</method>
      <line>748</line>
    </frame>
  </exception>
</record>

@whitingjr whitingjr reopened this May 30, 2018
@whitingjr
Copy link
Collaborator Author

These errors are manifested when using the Faban Web UI to initiate a run.

XForms become unresponsive. Ok or Cancel buttons no longer function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant