Недавно мы обновили Apache Tomcat Server с 8.5.32 до 8.5.45. Мы заметили, что Tomcat после запуска рассылает тоны NullPointerException-s в catalina.out, но Connector продолжает работать хорошо, он открыт и прослушивает:
10-Oct-2019 10:48:31.210 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 13452 ms
10-Oct-2019 10:48:31.247 SEVERE [https-jsse-nio-8443-exec-2] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.getSslSupport(NioEndpoint.java:1415)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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)
10-Oct-2019 10:48:31.247 SEVERE [https-jsse-nio-8443-exec-3] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.getSslSupport(NioEndpoint.java:1415)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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)
10-Oct-2019 10:48:31.247 SEVERE [https-jsse-nio-8443-exec-3] org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
java.lang.NullPointerException
at org.apache.coyote.http11.Http11InputBuffer.recycle(Http11InputBuffer.java:282)
at org.apache.coyote.http11.Http11Processor.recycle(Http11Processor.java:1714)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:993)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:961)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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)
10-Oct-2019 10:48:31.247 SEVERE [https-jsse-nio-8443-exec-4] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.getSslSupport(NioEndpoint.java:1415)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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)
Мы проверили форумы и т. Д ... нашел предложение изменить protocol
на org.apache.coyote.http11.Http11NioProtocol
, но это не помогло. Коннектор настроен следующим образом:
<Connector port="8443" minProcessors="5" maxProcessors="75"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" server=" "
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
keystoreFile="<keystore>"
keystorePass="<password>"
truststoreFile="<truststore>"
truststorePass="<password>"
URIEncoding="UTF-8"
clientAuth="true" xpoweredBy="false"
connectionTimeout="60000" maxHttpHeaderSize="8192"
allowTrace="false"
sslEnabledProtocols="TLSv1.2"
SSLHonorCipherOrder="on"
useServerCipherSuitesOrder="true"
ciphers="SSL_DHE_DSS_WITH_AES_128_CBC_SHA..."/>
Информация о версии Tomcat и Java:
Server version: Apache Tomcat/8.5.45
Server built: Aug 14 2019 22:21:25 UTC
Server number: 8.5.45.0
OS Name: Linux
OS Version: 3.10.0-1062.1.1.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_221-b11
JVM Vendor: Oracle Corporation