You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2022/04/22 10:10:34 UTC

[Bug 66024] New: NioEndpoint$NioSocketWrapper CountDownLatch locked

https://bz.apache.org/bugzilla/show_bug.cgi?id=66024

            Bug ID: 66024
           Summary: NioEndpoint$NioSocketWrapper  CountDownLatch locked
           Product: Tomcat 9
           Version: 9.0.17
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: 13426138427@163.com
  Target Milestone: -----

"http-nio-8801-exec-90" #902456 daemon prio=5 os_prio=0 tid=0x00007f42e405c800
nid=0xdc543 waiting on condition [0x00007f439433b000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007b7f06a80> (a
java.util.concurrent.CountDownLatch$Sync)
        at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
        at
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:277)
        at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.awaitLatch(NioEndpoint.java:1064)
        at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.awaitReadLatch(NioEndpoint.java:1066)
        at
org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:190)
        at
org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:222)
        at
org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:203)
        at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1197)
        at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1140)
        at
org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:731)
        at
org.apache.coyote.http11.Http11InputBuffer.access$300(Http11InputBuffer.java:40)
        at
org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer.doRead(Http11InputBuffer.java:1063)
        at
org.apache.coyote.http11.filters.ChunkedInputFilter.readBytes(ChunkedInputFilter.java:301)
        at
org.apache.coyote.http11.filters.ChunkedInputFilter.parseChunkHeader(ChunkedInputFilter.java:329)
        at
org.apache.coyote.http11.filters.ChunkedInputFilter.doRead(ChunkedInputFilter.java:164)
        at
org.apache.coyote.http11.Http11InputBuffer.doRead(Http11InputBuffer.java:245)
        at org.apache.coyote.Request.doRead(Request.java:551)
        at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:336)
        at
org.apache.catalina.connector.InputBuffer.checkByteBufferEof(InputBuffer.java:632)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:362)
        at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:132)
        at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:238)
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
        ................
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
        at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        - locked <0x000000065c9fde88> (a
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 66024] NioEndpoint$NioSocketWrapper CountDownLatch locked

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=66024

--- Comment #3 from he zhang <13...@163.com> ---
Thank you for your answer(In reply to Remy Maucherat from comment #2)
> Please upgrade to a newer version and investigate on the user list. This is
> blocking IO, so having the thread go through that state is expected as this
> is where it blocked waiting for input.

Thank you for your answer, I will try to upgrade to a newer version.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 66024] NioEndpoint$NioSocketWrapper CountDownLatch locked

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=66024

--- Comment #1 from he zhang <13...@163.com> ---
spring-boot-starter-web:2.1.4.RELEASE
spring-boot-starter-tomcat:2.1.4.RELEASE
tomcat-embed-core:9.0.16

Fake code:

InflaterInputStream iis = new InflaterInputStream(request.getInputStream());
ByteArrayOutputStream o = new ByteArrayOutputStream(1024);
int i = 1024;
byte[] buf = new byte[i];
while ((i = iis.read(buf, 0, i)) > 0) {
    o.write(buf, 0, i);
}

high volume of requests, exception stack info:

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 66024] NioEndpoint$NioSocketWrapper CountDownLatch locked

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=66024

Remy Maucherat <re...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|NEW                         |RESOLVED

--- Comment #2 from Remy Maucherat <re...@apache.org> ---
Please upgrade to a newer version and investigate on the user list. This is
blocking IO, so having the thread go through that state is expected as this is
where it blocked waiting for input.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org