Mantis - Resin
Viewing Issue Advanced Details
6058 minor always 05-23-17 01:45 05-24-17 14:31
stbu  
ferg  
normal  
closed 4.0.52  
fixed  
none    
none 4.0.53  
0006058: NullPointerException @ buildInvocation(WebAppContainer.java:847) instead of 503 Service Temporarily Unavailable
We're running Resin-Professional in an environment with multiple virtual hosts, several web-apps and many Rewrite Rules. We've observe the NullPointerExceptions (Stack Trace in "Additional Information") under following circumstances:

- A HTTP-Request is performed to /webapp which is properly handled.
- Stop /webapp using the /resin-admin interface which will change the state of /webapp to "STOPPED"
- Perform another HTTP-Request to /webapp is causing:
Server Error
The server is temporarily unavailable due to an internal error. Please notify the system administrator of this problem.

The Resin Logfile contains the Stack Trace from "Additional Information".

When tested the same against Resin-4.0.50 we receive the expected "503 Service Temporarily Unavailable" response.


The NullPointerException was also observed during HTTP Requests on a web-app while the underlying .war file was updated.
[2017-05-23 09:07:01.055] {resin-port-8443-47} WARNING com.caucho.server.webapp.ErrorPageManager java.lang.NullPointerException
  at com.caucho.server.webapp.WebAppContainer.buildInvocation(WebAppContainer.java:847)
  at com.caucho.server.host.Host.buildInvocation(Host.java:753)
  at com.caucho.server.host.HostContainer.buildInvocation(HostContainer.java:319)
  at com.caucho.server.cluster.ServletService.buildInvocation(ServletService.java:1064)
  at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:250)
  at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:223)
  at com.caucho.server.http.AbstractHttpRequest.buildInvocation(AbstractHttpRequest.java:1609)
  at com.caucho.server.http.AbstractHttpRequest.getInvocation(AbstractHttpRequest.java:1582)
  at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:820)
  at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1353)
  at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1309)
  at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1293)
  at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1201)
  at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:997)
  at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117)
  at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93)
  at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169)
  at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61)
  at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)
  at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)

There are no notes attached to this issue.