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

            Bug ID: 55930
           Summary: the backlog attribute of http bio connector does not
                    work
           Product: Tomcat 7
           Version: 7.0.47
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: chain...@gmail.com

Created attachment 31153
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31153&action=edit
in war file ,the servlet named indextest will sleep 60s

Hi,
I find a bug of http bio connector,you will find it in flowing steps:

1.set tomcat connector like this:
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000"
               redirectPort="8443" acceptCount="1" maxThreads="1"
minSpareThreads="1"/>

2. deploy attach war file:test.war

3. use LR or JMeter send 3 requests: http://localhost:8080/test/indextest 

4. use command jstack print current thread stack

NOTE: now the main thread stack like this:
"main" prio=6 tid=0x002aac00 nid=0x2e08 runnable [0x0025f000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x242cbaa8> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:452)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:779)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:725)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)

It state is  RUNNABLE, not like xxxPark, it's not waiting for condition.

In another words, the main thread should not entering the
ServerSoccket.accept() method when the backlog works. It must reject the
request.

-- 
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