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

--- Comment #2 from Jeff Zhuk <jeff_z...@yahoo.com> ---
Mark,

Thank you for looking into the problem.

> An invalid method with an valid URI and protocol will return a 4xx response 
> as appropriate.

Invalid characters make invalid URI and invalidate the protocol. Tomcat does
not provide a response with the Error number, like 500, just throws the
Exception below. 


16-Jul-2020 06:31:52.793 INFO [http-nio-80-exec-167]
org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request
header
 Note: further occurrences of HTTP request parsing errors will be logged at
DEBUG level.
        java.lang.IllegalArgumentException: Invalid character found in method
name [0x050x01...]. HTTP method names must be tokens
                at
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:432)
                at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502)
                at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
                at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
                at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
                at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
                at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.base/java.lang.Thread.run(Thread.java:834)

----
16-Jul-2020 18:06:51.220 INFO [http-nio-80-exec-9]
org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request
header                            Note: further occurrences of HTTP request
parsing errors will be logged at DEBUG level.                                  
                                            
java.lang.IllegalArgumentException: Invalid character found in the request
target
[/index.php?s=/Index/\x5Cthink\x5Capp/invokefunction&function=call_user_func_array&vars[0]=sha1&vars[1][]=xyzt].
The valid characters are defined in RFC 7230 and RFC 3986                      
                                                     at
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:491)
                                                                     at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)  

These exceptions are rare, strange client requests throw the exceptions that
are not caught, handshake with the client is not happening, causing LSOF
growing with the CLOSE_WAIT records:

http-nio-  8774 10605           root  149u     IPv6           15950578      
0t0        TCP
ip-172-31-42-229.us-west-2.compute.internal:http->64.252.86.223:23914
(CLOSE_WAIT)
http-nio-  8774 10605           root  150u     IPv6           15950579      
0t0        TCP
ip-172-31-42-229.us-west-2.compute.internal:http->64.252.86.223:25842
(CLOSE_WAIT)
http-nio-  8774 10605           root  151u     IPv6           15951160      
0t0        TCP
ip-172-31-42-229.us-west-2.compute.internal:http->64.252.86.223:30832
(CLOSE_WAIT)
http-nio-  8774 10605           root  152u     IPv6           15950580      
0t0        TCP
ip-172-31-42-229.us-west-2.compute.internal:http->64.252.86.35:12450
(CLOSE_WAIT)

See more in http://javaschool.com/lsof.txt

This is my conclusion, which is confirmed by AWS team.

Another possibility is that there is a response to these cases like you said,
but it is so specific, that AWS does not provide it back to the client.

(AWS disregarded this possibility)

If you know the specific response provided by Tomcat, please let me know and I
can work more with AWS layer.

Thank you again,

Jeff

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

Reply via email to