You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Andreas Røsdal <an...@gmail.com> on 2016/09/17 15:55:58 UTC
Severe errors in log on Tomcat 8.5.5
Hello!
Freeciv-web runs Tomcat on https://play.freeciv.org/ and I have some
questions about some error messages that I get in the Tomcat logs. I
recently upgraded from Tomcat 8.0.37 to Tomcat 8.5.5. I think that there
are some stability issues which came as a result of the upgrade to Tomcat
8.5.5.
The source code of the Java web application can be found here:
https://github.com/freeciv/freeciv-web/tree/develop/freeciv-web
Nginx runs in front of Tomcat as a HTTP 2 proxy.
Server version: Apache Tomcat/8.5.5
Server built: Aug 31 2016 19:51:16 UTC
Server number: 8.5.5.0
OS Name: Linux
OS Version: 4.4.0-36-generic
Architecture: amd64
Java Home: /opt/jdk/jdk1.8.0_73/jre
JVM Version: 1.8.0_73-b02
JVM Vendor: Oracle Corporation
These are some of the errors that I see in the Tomcat logs:
17-Sep-2016 17:44:27.241 INFO [http-nio-8080-exec-10]
org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request
header
Note: further occurrences of HTTP header parsing errors will be logged at
DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method
name. HTTP method names must be tokens
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(
Http11InputBuffer.java:462)
at org.apache.coyote.http11.Http11Processor.service(
Http11Processor.java:667)
at org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at org.apache.coyote.http11.Http11OutputBuffer.commit(
Http11OutputBuffer.java:332)
at org.apache.coyote.http11.Http11Processor.prepareResponse(
Http11Processor.java:1288)
at org.apache.coyote.AbstractProcessor.action(
AbstractProcessor.java:261)
at org.apache.coyote.http11.Http11Processor.endRequest(
Http11Processor.java:1457)
at org.apache.coyote.http11.Http11Processor.service(
Http11Processor.java:823)
at org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
17-Sep-2016 17:45:17.466 SEVERE [http-nio-8080-exec-20]
org.apache.coyote.http11.Http11Processor.service Error processing request
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:389)
at org.apache.coyote.http11.Http11Processor.service(
Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
17-Sep-2016 17:45:17.467 SEVERE [http-nio-8080-exec-20]
org.apache.coyote.http11.Http11Processor.endRequest Error finishing response
java.lang.NullPointerException
at org.apache.coyote.http11.Http11OutputBuffer.flushBuffer(
Http11OutputBuffer.java:514)
at org.apache.coyote.http11.Http11OutputBuffer.finishResponse(
Http11OutputBuffer.java:301)
at org.apache.coyote.http11.Http11Processor.endRequest(
Http11Processor.java:1458)
at org.apache.coyote.http11.Http11Processor.service(
Http11Processor.java:823)
at org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Any advice about what could cause these errors?
Regards,
Andreas R.
Re: Severe errors in log on Tomcat 8.5.5
Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Andreas,
On 9/17/16 11:55 AM, Andreas R�sdal wrote:
> Freeciv-web runs Tomcat on https://play.freeciv.org/ and I have
> some questions about some error messages that I get in the Tomcat
> logs.
(Cool! I had never heard of freeciv-web. "No more turns.... no more
turns... no more turns! :)
> I recently upgraded from Tomcat 8.0.37 to Tomcat 8.5.5. I think
> that there are some stability issues which came as a result of the
> upgrade to Tomcat 8.5.5.
>
> The source code of the Java web application can be found here:
> https://github.com/freeciv/freeciv-web/tree/develop/freeciv-web
>
> Nginx runs in front of Tomcat as a HTTP 2 proxy.
>
> Server version: Apache Tomcat/8.5.5 Server built:
> Aug 31 2016 19:51:16 UTC Server number: 8.5.5.0 OS Name:
> Linux OS Version: 4.4.0-36-generic Architecture:
> amd64 Java Home: /opt/jdk/jdk1.8.0_73/jre JVM Version:
> 1.8.0_73-b02 JVM Vendor: Oracle Corporation
>
>
> These are some of the errors that I see in the Tomcat logs:
>
> 17-Sep-2016 17:44:27.241 INFO [http-nio-8080-exec-10]
> org.apache.coyote.http11.Http11Processor.service Error parsing HTTP
> request header Note: further occurrences of HTTP header parsing
> errors will be logged at DEBUG level.
> java.lang.IllegalArgumentException: Invalid character found in
> method name. HTTP method names must be tokens at
> org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(
> Http11InputBuffer.java:462) at
> org.apache.coyote.http11.Http11Processor.service(
> Http11Processor.java:667) at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66) at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:802) at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1410) at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49) at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142) at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617) at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
This looks like a client error. Can you get a byte-level protocol
trace of the request/response?
> java.lang.NullPointerException at
> org.apache.coyote.http11.Http11OutputBuffer.commit(
> Http11OutputBuffer.java:332) at
> org.apache.coyote.http11.Http11Processor.prepareResponse(
> Http11Processor.java:1288) at
> org.apache.coyote.AbstractProcessor.action(
> AbstractProcessor.java:261) at
> org.apache.coyote.http11.Http11Processor.endRequest(
> Http11Processor.java:1457) at
> org.apache.coyote.http11.Http11Processor.service(
> Http11Processor.java:823) at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66) at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:802) at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1410) at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49) at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142) at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617) at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
That error is that the socketWrapper object is null. :(
http://svn.apache.org/viewvc/tomcat/tc8.5.x/tags/TOMCAT_8_5_5/java/org/a
pache/coyote/http11/Http11OutputBuffer.java?revision=1758670&view=markup
#l332
Looks like the response object or facade has been trashed.
> 17-Sep-2016 17:45:17.466 SEVERE [http-nio-8080-exec-20]
> org.apache.coyote.http11.Http11Processor.service Error processing
> request java.lang.NullPointerException at
> org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:389) at
> org.apache.coyote.http11.Http11Processor.service(
> Http11Processor.java:784) at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66) at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:802) at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1410) at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49) at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142) at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617) at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Any of the request, its mapping data, or the context it was mapped to
has been trashed.
http://svn.apache.org/viewvc/tomcat/tc8.5.x/tags/TOMCAT_8_5_5/java/org/a
pache/catalina/connector/CoyoteAdapter.java?revision=1758670&view=markup
#l389
> 17-Sep-2016 17:45:17.467 SEVERE [http-nio-8080-exec-20]
> org.apache.coyote.http11.Http11Processor.endRequest Error finishing
> response java.lang.NullPointerException at
> org.apache.coyote.http11.Http11OutputBuffer.flushBuffer(
> Http11OutputBuffer.java:514) at
> org.apache.coyote.http11.Http11OutputBuffer.finishResponse(
> Http11OutputBuffer.java:301) at
> org.apache.coyote.http11.Http11Processor.endRequest(
> Http11Processor.java:1458) at
> org.apache.coyote.http11.Http11Processor.service(
> Http11Processor.java:823) at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66) at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:802) at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1410) at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49) at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142) at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617) at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
http://svn.apache.org/viewvc/tomcat/tc8.5.x/tags/TOMCAT_8_5_5/java/org/a
pache/coyote/http11/Http11OutputBuffer.java?revision=1758670&view=markup
#l514
Again, the socketWrapper is null.
> Any advice about what could cause these errors?
My first guess, without reading the source, would be that the
application is storing request and/or response objects past their
validity periods.
That first error might be due to an incoming request being trashed by
another thread retaining a reference to that request, and recycling it
at an inopportune moment.
- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBCAAGBQJX3XVAAAoJEBzwKT+lPKRYUsMQALPykd58TQrAE2vuOHRGkG9G
PAO+m9WUyHiI7PnsHFQeVTE2gQv5Lea3WlmI1YMw1l1ScLOMv7GCP7oDSFv3sGIu
zHe6pEz34LaMcUroKZPOFvjC8Rw4WDZ7hqfkovaSS25TJY8SGI/VqZlfLFWn9UdJ
EN3gNOMHwwAsk9PS0auwSCP4VmOwXGLpxnQCpde9ZA2GNxVyaLSo/KeFIUzjAIej
lx9+ZisEb2i2jAknw4EtwYlmcMXVQmVry2JK9brrr4xLTGs5tnfhBQnZ6g0RaDXU
qKbwVskaarRQsXkzi3uI1Sk7ZCKoDqR1eSWFjdGOT4PqV65piEW0GJYp82ihRd0Y
CEm0JUAUWg1KPh2/69Z7r6S8UZTXuXIj8tUxYWf+W3FRfU0d9rKEXH+YJ9nDrCPu
WMM8bMFTvwP8Z152+Suiu+BnWUdu07OzONpwY26JWTgfY5rB17p7CUzxeWCFT+tA
+ETENPYA6t04JDBL2udYDLyue7+72e/lwr9Ka1YHiF7wHqDCndOh/C++/6H7tOsb
2rA6XaGUeU/mkLHT8O6OLrtcSiigLJVqk6bpFBVI6gW1xROtVWMIPm34xtGBC/A5
WWm0ZoH+dkuVgalVLn1j+7UTbUPhbvdHsPqQPgo5jFcIbcQpbL14zL5o73GoBIQW
z0QCSeYnbUJ+TiLV/eMq
=X47g
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org