Mantis - Resin
Viewing Issue Advanced Details
5776 minor always 07-15-14 10:11 08-07-14 14:25
alex  
ferg  
normal  
closed 4.0.40  
open  
none    
none 4.0.41  
0005776: servlet-async: java.lang.IllegalStateException: The servlet '/error1' at '/error1' does not support async
Exception with legal servlet.


I cleared resin-data and redeployed the app, but I'm still able to reproduce the issue.
I used the following steps to reproduce:

./bin/resin.sh stop
rm -rf resin-data/app-0
rm -rf webapps/servlet3-async*
./bin/resin.sh start
cp ~/servlet3-async.war webapps

curl -D - 'http://localhost:8080/servlet3-async/error2?fail=true' [^]
curl -D - http://localhost:8080/servlet3-async/error1 [^]

I'm using war deployment.
java.lang.IllegalStateException: The servlet '/error1' at '/error1' does
not support async because the servlet or one of the filters does not support
asynchronous mode. The servlet should be annotated with a @WebServlet(asyncSupported=true)
annotation or have a <async-supported> tag in the web.xml.
    at com.caucho.server.http.HttpServletRequestImpl.startAsync(HttpServletRequestImpl.java:1503)
    at com.caucho.server.http.HttpServletRequestImpl.startAsync(HttpServletRequestImpl.java:1489)
    at fi.markoa.servlet3.AsyncErrorServlet1.doGet(AsyncErrorServlet1.java:19)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:120)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:97)
    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:289)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:838)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1346)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1302)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1286)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1194)
    at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:993)
    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)

Notes
(0006462)
marko_asplund   
07-15-14 11:50   
source code for servlet3-async.war can be found here:
https://github.com/marko-asplund/servlet3-async [^]
(0006466)
ferg   
08-07-14 14:25   
server/1la9