You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2010/05/05 06:44:34 UTC
DO NOT REPLY [Bug 49249] New: GC overhead limit exceeded when
download large files from keep-alive-enabled clustered tomcats
https://issues.apache.org/bugzilla/show_bug.cgi?id=49249
Summary: GC overhead limit exceeded when download large files
from keep-alive-enabled clustered tomcats
Product: Tomcat 6
Version: 6.0.18
Platform: HP
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: Catalina
AssignedTo: dev@tomcat.apache.org
ReportedBy: mustangxu@gmail.com
1. In a Tomcat cluster forwarded by Apache
2. Config "KeepAlive on" in httpd.conf
3. No static resource cache in Apache
4. Download a large file (jre.exe, 16M) with load (200+ downloads per Tomcat)
directly from Tomcat, a "GC overhead limit exceeded" error will occur in a
short time. The stacktrace in Tomcat's log looks like below:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.nazca.io.httpd.HttpServletTool.processResponse(HttpServletTool.java:100)
at
com.nazca.io.httpd.HttpServletTool.processRequest(HttpServletTool.java:57)
at
com.nazca.consult.leader.server.servlet.LeaderHttpRPCServlet.processRequest(LeaderHttpRPCServlet.java:55)
at
com.nazca.consult.leader.server.servlet.LeaderHttpRPCServlet.doPost(LeaderHttpRPCServlet.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "pool-6-thread-3" java.lang.OutOfMemoryError: GC overhead
limit exceeded
2010-05-05 09:06:53,913 [ERROR]
org.apache.catalina.core.ContainerBase.[Standalone].[localhost].[/consult_workerPortal].[jnlpServlet]
Servlet.service() for servlet jnlpServlet threw exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 49249] GC overhead limit exceeded when download
large files from keep-alive-enabled clustered tomcats
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49249
Konstantin Kolinko <kn...@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
--- Comment #1 from Konstantin Kolinko <kn...@gmail.com> 2010-05-05 01:29:35 EDT ---
A quick search gives me this reference:
http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom
"The parallel collector will throw an OutOfMemoryError if too much time is
being spent in garbage collection"
Out of memory errors mean that you must profile your own application to
identify the root cause. See users@ list archives for further pointers.
http://wiki.apache.org/tomcat/OutOfMemory
http://tomcat.apache.org/bugreport.html#Bugzilla_is_not_a_support_forum
Closing as INVALID, because there is no Tomcat issue here.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 49249] GC overhead limit exceeded when download
large files from keep-alive-enabled clustered tomcats
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49249
--- Comment #2 from iJay <mu...@gmail.com> 2010-05-05 02:16:12 EDT ---
(In reply to comment #1)
> A quick search gives me this reference:
> http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom
> "The parallel collector will throw an OutOfMemoryError if too much time is
> being spent in garbage collection"
>
> Out of memory errors mean that you must profile your own application to
> identify the root cause. See users@ list archives for further pointers.
>
> http://wiki.apache.org/tomcat/OutOfMemory
> http://tomcat.apache.org/bugreport.html#Bugzilla_is_not_a_support_forum
>
> Closing as INVALID, because there is no Tomcat issue here.
I am not a new developer to Java and do know what is a OutOfMemoryError. This
application is only a servlet generating dynamic JNLP file and providing JRE
download. It ran smoothly during the past one year with load. After we turned
"keep alive" on in apache a few days ago, Tomcat crashed this morning. Then we
turned it back to off and now it serves with no error.
My team supposed that if download a large file from tomcat with keep-alive
connection, since all the requests from the same user use the same connection,
maybe the stream buffer doesn't close correctly during the download and then
cause this ERROR. Pls check in this bug and validate it with patience.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org