Mantis - Resin
Viewing Issue Advanced Details
4637 major always 06-21-11 18:26 07-05-11 11:27
cowan  
ferg  
normal  
closed 4.0.19  
fixed  
none    
none 4.0.20  
0004637: web-app-deploy creates duplicate webapps
With web-app-deploy enabled and a .war or expanded webapp exists in the webapp directory and is also configured in resin.xml using <web-app...>, Resin creates multiple instances of com.caucho.env.deploy.DeployController.

One one instance is started, and the others are left in INIT lifecycle state.

The stack trace below is a result of calling DeployController.getDeployInstance from JMX on one of the uninitialized DeployControllers. getDeployInstance returns null because the lifecycle is not in an active state, resulting in an NPE in ResinStatusServlet. You can also see in JMX the webapp states get stuck on INIT.

javax.servlet.ServletException: java.lang.NullPointerException
    at com.caucho.servlets.ResinStatusServlet.service(ResinStatusServlet.java:160)

    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)

    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)

    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)

    at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
    at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)

    at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
    at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
Caused by: java.lang.NullPointerException

    at com.caucho.servlets.ResinStatusServlet.printApplicationSummary(ResinStatusServlet.java:796)
    at com.caucho.servlets.ResinStatusServlet.service(ResinStatusServlet.java:153)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)

    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)

    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)

    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
    at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)

    at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
    at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)

    at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
Rep by W. Au

Notes
(0005333)
cowan   
06-22-11 09:03   
server/1h8w