-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mike,

On 8/10/16 6:15 AM, Mike Noordermeer wrote:
> Hi,
> 
> After an upgrade to Tomcat 8.5, we are experiencing an issue where 
> Tomcat starts generating a high CPU load (100%), probably after an 
> HTTP network scan. The bug seems to be related to Windows, NIO and 
> possibly SSL. I have a Yourkit dump and several thread dumps that
> show the issue, and was wondering if anyone is interested in this,
> and if we can gather any extra information to help debug this
> issue.
> 
> Setup: Windows 2k8r2, Tomcat 8.5.4, Java 8u102, NIO HTTP and NIO
> JSSE HTTPS connector.
> 
> Out of nothing, Tomcat starts using 100% CPU. I made some thread 
> dumps, available here:
> 
> https://gist.github.com/MikeN123/f4a85f09231cfda7a9e632b64f27dcdc 
> https://gist.github.com/MikeN123/7dfe17ae95b8d516d86e0d7126cbaa02 
> https://gist.github.com/MikeN123/750da8580e04e0498f70b81dbd1a5c52 
> https://gist.github.com/MikeN123/2e83307b7c1216339d4fa73b30c02f1a 
> https://gist.github.com/MikeN123/8850ef2a60d39a4dc140b2d8fef18c3f
> 
> I also have some Yourkit stats available, but as these may contain 
> confidential information, I won't share them in public. Basically, 
> what we see is that the thread https-jsse-nio-443-ClientPoller-0
> is continuously runnable and using CPU on 
> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(), and various
> other https-jsse-nio-443-exec threads are waiting (parked) or
> running. These threads together take up all the CPU. A Yourkit
> thread view showing the issue starting around 11:02:
> https://dl.eveoh.nl/yc_fal.png
> 
> We _suspect_ the issue is triggered by an HTTP scan, which
> generates the following requests in the access log, but we are
> still trying to confirm this:
> https://gist.github.com/MikeN123/581d1f17aae100f06b8c65b86870a64a
> 
> Also, we are trying to confirm whether or not NIO2 shows the same
> behaviour.
> 
> The behaviour seems to be the same as in this tomcat-users thread: 
> https://mail-archives.apache.org/mod_mbox/tomcat-users/201604.mbox/%3C
CAE-ydNF84pnoX2tP8BJ4vQisabgycP0y2vpnmjNhddz9+BKp=w...@mail.gmail.com%3E
>
>  A similar issue is mentioned for some other products, but I'm not
> sure if there's a relation:
> 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=357240 
> https://developer.jboss.org/thread/240618?start=0&tstart=0 
> https://github.com/netty/netty/issues/3857
> 
> Our next steps are:
> 
> - Switching the production site to NIO2, to see if that fixes the
> issue - Checking if we can reproduce the issue by triggering the
> HTTP vulnerability scan manually
> 
> Any ideas or requests for more information are more than welcome.

Are you fronting with a web server/reverse proxy? Those "-" requests
looks suspiciously like the kinds of requests that Apache httpd makes
to itself to verify that worker threads are still available for
certain things.

Maybe that's a way that HTTP scanners are trying to avoid detection:
by looking like "normal" stuff in the logs.

I'm curious... why are the requests coming from "10.xxx"... isn't that
within your own network? Shouldn't you KNOW what that stuff is?

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJXq0xpAAoJEBzwKT+lPKRYu/sP/RdIRuBnSq36wHr8eYj6IAc9
xJmlcjdfBB4CL7DYwDvH+fddDb/W8k48ksQIk/nhvrqf0mP7V7g21L9pS3Cl/ki4
i/pKR6WhxPEkcKGZh7uxlD6bPUpJCVcvDX0W8jfl+yXXX5eJKVWwrfJHxZ7i4hEL
c8Vz/JUyXfAATWbfkiBGRhrcSqA3QG9WD1D6XZxAl6saJgqUD2tn7CbXJ+XG6GZB
563qD/fBg20FG5xq5atXhnjAl4icmhIEcaszjsgNb7cwzwPKV2PBcgF+V6ObGvHA
+5v0by0jGpaX6I5wozjVMIOpjdcQLFApimdDS4yBaqP400jKrFsbwVVjYn1E08oK
n9lxW2yfzC1l9AmbnHa2OcpRSyFVV9XyZdgkElVETz8XQbJu+E18gK9eTKufweYA
PDUVmNwXg/WaCNpZtuG8kvgsP93v4mfTzsru9I5ktMSdSti5cJPtrkHGnZicBZNB
5oWQzgtc38exUyJg9WKalAZMNiAR1WlH4mxCCDmS8TAUd0JzKexRRsQYRDKYQCJY
SU3iW5zvj5n1dcloMdyx1BbP6pGIK/FvP9Jxm4oKhDfN4WnrFHa/eYWam1B7lpO/
sgu7KJe815zgGOZS8H5cstegY2SAsi48zG1JLQut+WZE/2fBkozZVqdj/D/ybd4n
WPi5Lf4v5RcbL5w1f6OB
=19NA
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to