Replies inline (and at the end).
Leo,
On 2/24/2013 12:21 PM, Leo Donahue - RDSA IT wrote:
1. What is the significance of GET requests with what seems like no resource
request being made? They all seem to come from the side of the globe.
such as:
220.181.108.165 - - [23/Feb/2013:22:41:22 -0700] "GET / HTTP/1.1" 200 13258
220.181.108.165 - - [23/Feb/2013:22:41:22 -0700] "GET / HTTP/1.1" 200 13258
The browser getting the ROOT of the web site. Tomcat has returned a 200
status code and sent 13258 bytes.
An overview of what the access logs look like can be found here:
http://httpd.apache.org/docs/2.4/logs.html
While this is for Apache HTTPD, the same general logging format is used
by Apache Tomcat.
The request is coming from China. Who knows why they're requesting your
web site.
2. Why do some people like making dozens of requests in a row to get the
favicon? Even if it was there, why do they want it?
such as:
75.171.44.236 - - [23/Feb/2013:21:40:49 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:53 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:54 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:54 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:56 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:57 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:40:58 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:06 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:06 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:10 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:14 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:14 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:16 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:16 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:20 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:20 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:23 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:23 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:35 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:35 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
75.171.44.236 - - [23/Feb/2013:21:41:55 -0700] "GET /favicon.ico HTTP/1.1" 404
6386
many more...
Some browsers request favicon.ico. On Google Chrome, it makes a nice
little image at the start of the tab. I have a red brick arch for
Redmine, a feather for Apache HTTPD, A tomcat for Apache Tomcat, and a
white "g" on a blue square for Google (my current tabs).
3. Can I assume that com.esri.rest.catalog.CatalogServlet.service doesn't clean
up after itself well? This was the fifth occurrence of the same exception in
localhost logs before I start getting out of memory errors.
such as:
Feb 24, 2013 5:46:57 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet catalog threw exception
com.esri.rest.HttpException: Service 'AGIS_MARICOPA' of type 'MapServer' does
not exist or is inaccessible.
at com.esri.rest.catalog.CatalogServlet.service(CatalogServlet.java:176)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at com.esri.rest.DispatchServlet.service(DispatchServlet.java:123)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
com.esri.rest.security.SecurityFilter.doFilter(SecurityFilter.java:79)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.esri.rest.RestFilter.doFilter(RestFilter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Feb 24, 2013 7:32:56 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:36:19 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:36:32 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:39:17 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:40:09 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:41:56 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:41:58 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:41:58 AM org.apache.catalina.core.StandardHostValve custom
SEVERE: Exception Processing
ErrorPage[exceptionType=javax.servlet.ServletException,
location=/WEB-INF/error/servlet_exception_template.xhtml]
javax.servlet.ServletException: PermGen space
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:489)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:467)
at
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:412)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:201)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 7:42:07 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 8:19:59 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 8:32:55 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 8:40:46 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 8:40:56 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path []
threw exception [PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Feb 24, 2013 8:40:57 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.OutOfMemoryError: PermGen space
I will not say anything (OK, much less than my usual) concerning this
application.
It seems that this type of request is a wonderful tool for DOS attacks.
I just keep asking for non-existent services until your web server falls
over with an out of PermGen memory error.
It also seems very unpleasant that this exception is thrown into the
Apache Tomcat logs rather than an application-specific log. To me this
means that the application does not implement its own logging.
It also appears that this application doesn't catch common (presumably
recoverable) errors gracefully.
Coupled with the threading issues you posted in your previous mail, I
suggest contacting the vendor with these issues. The issues you have
posted so far seem to be the following:
1. Thread (resource) management
2. Logging
3. Graceful recovery from common errors
4. Possible PermGen issues - (probably failure to clean up from item 4)
. . . . just my two cents.
/mde/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org