I have tried Googling, looking at message boards, posting on message boards, etc. and no one seems to know anything about this problem. I'm running Apache Web Server 2.0.54 connected to Tomcat 5.5.9 by the mod_jk2 connector. When I try to access a JSP, I get the error: HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl could not be instantiated: java.lang.NullPointerException org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl could not be instantiated: java.lang.NullPointerException javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(Unknown Source) org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java: 750) org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1527) org.apache.jasper.compiler.Validator.validate(Validator.java:1495) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:157) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs. Apache Tomcat/5.5.9 Stopping and restarting the Tomcat service consistently seems to fix the problem. To say I can consistenty reproduce the error is probably not accurate, but it seems to manifest itself every time I significantly modify a JSP. (i.e. When I modify a JSP, I get the error and have to restart Tomcat.) The following shows up in the localhost.2005.06.06.log file: Jun 6, 2005 8:51:43 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl could not be instantiated: java.lang.NullPointerException at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:152) at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96) at org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:750) at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1527) at org.apache.jasper.compiler.Validator.validate(Validator.java:1495) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:157) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) The web.xml file for the application is as follows: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Madisonville Community College Online Workshop Quiz Grading Tools</display-name> <description> Servlets and JSPs for evaluating the results of online quizzes at the end of online workshops. </description> <servlet> <servlet-name>QuizGrader</servlet-name> <servlet-class>QuizGraderServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>QuizGrader</servlet-name> <url-pattern>/quizgrader</url-pattern> </servlet-mapping> </web-app> I've posted this on the Java Developer forum twice and on HTMLforums.com once and have received no replies.
Please use tomcat-user to investigate this.
*** Bug 35720 has been marked as a duplicate of this bug. ***
Now that the second post of this bug has been marked as a duplicate, I guess I should post this new development on this bug report as well. I'm also reopening the bug in the hopes that someone will read this update and be able to fix the problem. I'm new to Bugzilla, so I don't know if that's the appropriate procedure or not, but I'm sure one or more people will be more than happy to tell me if it isn't. Additional Information: I have discovered that I can make this error go away by applying the JDK 1.4.x compatibility patch, even though my JDK is version 1.5.0_03. This, however, caused me to get the error: java.lang.NoSuchMethodError: org.w3c.dom.Node.getTextContent()Ljava/lang/String; Presumably, the getTextContent() method was not present in JDK 1.4.x, thus the patch causes this error. When I remove the patch, the NoSuchMethodError is resolved, but the original error returns. Looking more like a bug all the time...
We do not do user support. With Java 5, you're using the JAXP API as implemented by your vendor, so look in their docs. We also only support Tomcat on pristine JVM installations (no custom extensions). Please do not reopen the report.
Thankfully, someone finally pointed me in the right direction on this. I obtained a newer version of the Xerces parser (version 2.7.0) and copied resolver.jar, xercesImpl.jar, and xml-apis.jar into my common\endorsed directory and the problem seems to have resolved itself. Hopefully, anyone else who has this problem will run across this post instead of beating their heads against it for months like I did!