I'm struggleing with Tomcat. Last week, everything worked perfectly.
Today (Monday!), not much works.
I installed JDK1_5_01, and jakarta-tomcat-5-5-7, and have the
appropriate env var, e.g. JAVA_HOME, TOMCAT_HOME, etc., running on Red
Hat. I started Tomcat and can access the Tomcat page at
http://cfgroup.org:8080/ I have three user directories that are
identical, all named ccarter, one under webapps/ROOT/ccarter, and one
under ROOT/ccarter. I also have a jsp page under ROOT/ that works
perfectly.
When I load the page in the browser, this is what I get:
-------------------browser error page------------------
type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.
exception
java.lang.NullPointerException
org.apache.catalina.servlets.DefaultServlet.renderHtml(DefaultServlet.java:1345)
org.apache.catalina.servlets.DefaultServlet.render(DefaultServlet.java:1102)
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:807)
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:335)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
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.7 logs.
Here is the error message in the log file:
-----------------log file error message-----------------
SEVERE: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at
org.apache.catalina.servlets.DefaultServlet.renderHtml(DefaultServlet.java:1345)
at
org.apache.catalina.servlets.DefaultServlet.render(DefaultServlet.java:1102)
at
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:807)
at
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
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:214)
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.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
Thanks for all suggestions, CC.
> I'm struggleing with Tomcat. Last week, everything worked perfectly.
> Today (Monday!), not much works.
[quoted text clipped - 15 lines]
> exception
> java.lang.NullPointerException
org.apache.catalina.servlets.DefaultServlet.renderHtml(DefaultServlet.java:1
345)
org.apache.catalina.servlets.DefaultServlet.render(DefaultServlet.java:1102)
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.jav
a:807)
> org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:335)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
[quoted text clipped - 7 lines]
> java.lang.NullPointerException
> at
org.apache.catalina.servlets.DefaultServlet.renderHtml(DefaultServlet.java:1
345)
> at
org.apache.catalina.servlets.DefaultServlet.render(DefaultServlet.java:1102)
> at
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.jav
a:807)
> at
> org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:335)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
> at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
> at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
> at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va: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.coyote.http11.Http11Processor.process(Http11Processor.java:825)
> at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:738)
> at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:526)
> at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
> Thanks for all suggestions, CC.
I hate when Tomcat throws an Exception that seems to have no connection to
my own code - none of my servlets or methods are mentioned in the
stacktrace - but it's not all that rare. It usually ties back to my code
although it can take a while to find it. I would suggest running your code
through a debugger and stepping through it very carefully until you see it
do something unexpected.
If that doesn't reveal the problem, you might be hitting a genuine internal
problem within Tomcat. At that point, I'd suggest joining the Tomcat *User*
mailing list at http://jakarta.apache.org/site/mail2.html. If you post
there, someone will probably be able to help you.
Rhino