tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 7770] New: - NPE in at session creation shortly after starting tomcat 3.3.1
Date Fri, 05 Apr 2002 16:06:27 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7770>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7770

NPE in at session creation shortly after starting tomcat 3.3.1

           Summary: NPE in at session creation shortly after starting tomcat
                    3.3.1
           Product: Tomcat 3
           Version: 3.3.1 Final
          Platform: Sun
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Servlet
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: hans.schmid@einsurance.de


First odf all my setup:

Tomcat 3.3.1 final with mod_jk 1.1 ajp13 behind 2 Apaches 1.3.19 on Solaris 8 
(SPARC)

I can find the following NPE once in a while shortly after we startup Tomcat:


java.lang.NullPointerException
        at org.apache.tomcat.modules.session.SessionId.processSession
(SessionId.java:237)
        at org.apache.tomcat.modules.session.SessionId.requestMap
(SessionId.java:217)
        at org.apache.tomcat.core.ContextManager.processRequest
(ContextManager.java:968)
        at org.apache.tomcat.facade.RequestDispatcherImpl.doForward
(RequestDispatcherImpl.java:259)
        at org.apache.tomcat.facade.RequestDispatcherImpl.forward
(RequestDispatcherImpl.java:174)
        at org.apache.struts.action.ActionServlet.processActionForward
(ActionServlet.java:1758)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1595)
        at de.einsurance.gui.framework.ExtendedActionServlet.process
(ExtendedActionServlet.java:65)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
        at org.apache.tomcat.core.Handler.service(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at org.apache.tomcat.facade.RequestDispatcherImpl.doForward
(RequestDispatcherImpl.java:272)
        at org.apache.tomcat.facade.RequestDispatcherImpl.forward
(RequestDispatcherImpl.java:174)
        at org.apache.struts.action.ActionServlet.processActionForward
(ActionServlet.java:1758)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1595)
        at de.einsurance.gui.framework.ExtendedActionServlet.process
(ExtendedActionServlet.java:65)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
        at org.apache.tomcat.core.Handler.service(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at org.apache.tomcat.core.ContextManager.internalService
(ContextManager.java:917)
        at org.apache.tomcat.core.ContextManager.service
(ContextManager.java:833)
        at org.apache.tomcat.modules.server.Ajp13Interceptor.processConnection
(Ajp13Interceptor.java:341)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:494)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:516)
        at java.lang.Thread.run(Thread.java:479)


Has anybody an Idea what happens here?

We have the following (quite special) setup in this case, which I try to 
explain here:

2 HW-loadbalanced Apache server connect via mod_jk 1.1 to several tomcats.
More or less one tomcat per Webapp.

The error above occurs in a special webapp which is setup a little bit 
different:

For this (our critical webapp) we use a single Tomcat connected via a
loadbalanced worker using two ajp13 workers (lbfactor 1 and 0.00001)
This second worker normaly points to a not running Tomcat and is therefore 
ignored.

When we update some classes or otherwise have to restart our main tomcat,
we start the second Tomcat, exchange the worker.property files with one that
have lbfactors 0.00001 and 1 (the other way around as before) and graceful 
restart our two apaches.

That way, (almost) all new sessions go to the newly started Tomcat, while still 
existing sessions stick with the old Tomcat. After 30 min, we shut down the 
original Tomcat and our switch over is finished.

So we are missusing the loadbalancing feature to slowly migrate our running 
sessions to the new Tomcat instance.

The above Error sometimes occured at exactly the point, where we start up this 
second Tomcat. It seems to me that sometimes the first session arrives the new 
tomcat before it finished its startup procedure (load on startup servlets ...)


Thanks for any hints,
Hans

--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message