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.