https://issues.apache.org/bugzilla/show_bug.cgi?id=56640

            Bug ID: 56640
           Summary: request.isAsyncSupported wrongly returns false
           Product: Tomcat 7
           Version: 7.0.54
          Hardware: PC
                OS: Mac OS X 10.4
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: jfarc...@apache.org

This is a hard issue to reproduce, but using 7.0.5x a Servlet defined as:

        <servlet>
                <description>AtmosphereServlet</description>
                <servlet-name>AtmosphereServlet</servlet-name>
                <servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet>
                <load-on-startup>1</load-on-startup>
                <async-supported>true</async-supported>
        </servlet>
        <servlet-mapping>
                <servlet-name>AtmosphereServlet</servlet-name>
                <url-pattern>/chat/*</url-pattern>
        </servlet-mapping>

will return request.isAsyncSupported() == false when the client (in the test
Chrome) send a normal http request taking the form of 

T 127.0.0.1:53657 -> 127.0.0.1:8081 [AP]
GET
/chat/company/8?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=8567472b-c334-4f55-8b6b-f5c3d4763378&X-Atmosphere-WebSocket-Proxy=true&_=1403113561652
HTTP/1.1.
Host: 127.0.0.1:8081.
Connection: keep-alive.
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36.
Content-Type: text/plain.
Accept: */*.
Referer: http://127.0.0.1:8081/.
Accept-Encoding: gzip,deflate,sdch.
Accept-Language: en-US,en;q=0.8,de;q=0.6,fr;q=0.4,nl;q=0.2.
Cookie: nikio.guid=2e87c963-0668-4e2f-8e91-63c2eb759558;
__utma=96992031.807814183.1379458509.1398954177.1398962667.30;
__utmz=96992031.1393253205.21.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=http://127.0.0.1:8080/prime-showcase/push/index.jsf;
JSESSIONID=D7F9DEA3D70CB0404F425DC26209520F.
.

This request is send when the browser is about to leave the page, and marked as
blocking, as described here

   http://goo.gl/fQV7Yk

The issue is hard to reproduce, but I can share (privately) a simple
application that will demonstrate the issue (small customer apps).

I do have a workaround in Atmosphere: http://goo.gl/QNavLJ

but that's quite ugly. Note that there is a websocket connection active on the
AtmosphereServlet when the issue arise (I do see the WsFilter in the stack
trace)

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to