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 2018/09/20 11:01:45 UTC

[Bug 62749] New: NullPointerException call MimeHeaders.clear , java.lang.ArrayIndexOutOfBoundsException call SocketBufferHandler.setWriteBufferConfiguredForWrite

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

            Bug ID: 62749
           Summary: NullPointerException call MimeHeaders.clear ,
                    java.lang.ArrayIndexOutOfBoundsException call
                    SocketBufferHandler.setWriteBufferConfiguredForWrite
           Product: Tomcat 8
           Version: 8.5.16
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Util
          Assignee: dev@tomcat.apache.org
          Reporter: XiongShiLinEmail@163.com
  Target Milestone: ----

Hi, we have a spring cloud app in which tomcat-embed(verison:8.5.16) is used.
Sometimes, there are two exceptions that happen to our app. We can't recur them
in our test enviroment.We guess it has something with the high concurrency.
Details as below:

1.java.lang.NullPointerException in MimeHeaders:
 java.lang.NullPointerException: null
        at org.apache.tomcat.util.http.MimeHeaders.clear(MimeHeaders.java:150)
        at org.apache.coyote.Response.recycle(Response.java:560)
        at
org.apache.coyote.http11.Http11OutputBuffer.nextRequest(Http11OutputBuffer.java:307)
        at
org.apache.coyote.http11.Http11OutputBuffer.recycle(Http11OutputBuffer.java:290)
        at
org.apache.coyote.http11.Http11Processor.recycle(Http11Processor.java:1652)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:1050)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:984)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
        at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source)

2.java.lang.ArrayIndexOutOfBoundsException in SocketBufferHandler:

 java.lang.ArrayIndexOutOfBoundsException: null
        at java.nio.HeapByteBuffer.compact(Unknown Source)
        at
org.apache.tomcat.util.net.SocketBufferHandler.setWriteBufferConfiguredForWrite(SocketBufferHandler.java:109)
        at
org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite(SocketBufferHandler.java:91)
        at
org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:447)
        at
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388)
        at
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644)
        at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:121)
        at
org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:235)
        at org.apache.coyote.Response.doWrite(Response.java:541)
        at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
        at
org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:815)
        at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:310)
        at
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:263)
        at
org.apache.catalina.connector.Response.finishResponse(Response.java:484)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:373)
        at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
        at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
        at org.apache.tomcat.util.net.SocketProcessorBase.r

-- 
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 62749] NullPointerException call MimeHeaders.clear , java.lang.ArrayIndexOutOfBoundsException call SocketBufferHandler.setWriteBufferConfiguredForWrite

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

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WORKSFORME
             Status|NEEDINFO                    |RESOLVED

--- Comment #2 from Mark Thomas <ma...@apache.org> ---
This has been open for over a month without any further information being
provided. Therefore, I am closing this as "WORKSFORME". The issue can always be
re-opened if there is additional information available in the future.

-- 
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 62749] NullPointerException call MimeHeaders.clear , java.lang.ArrayIndexOutOfBoundsException call SocketBufferHandler.setWriteBufferConfiguredForWrite

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

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO

--- Comment #1 from Mark Thomas <ma...@apache.org> ---
That is a concurrency bug. I can't tell where the root cause is but there are
fixes for similar issues in newer versions of Tomcat.

Please re-test with the latest 8.5.34 release.

Also set the system property org.apache.catalina.connector.RECYCLE_FACADES to
true. If the bug is in your app, you'll see NPEs when you try to re-use a
request or response object illegally.

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