tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <ch...@christopherschultz.net>
Subject Re: Tomcat 6.0.29 using more and more RAM until it collapses?
Date Tue, 16 Nov 2010 21:42:04 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brian,

On 11/16/2010 3:23 PM, Brian wrote:
> Nov 15, 2010 8:37:28 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
> SEVERE: The web application [] is still processing a request that has yet to finish.
This is very likely to create a memory leak. You can control the time allowed for requests
to finish by using the unloadDelay attribute of the standard Context implementation.

Looks like you have some (or at least one) long-running request. Maybe
it's generating a ton of buffered output, too :)

> Nov 15, 2010 8:37:28 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
> SEVERE: The web application [] is still processing a request that has yet to finish.
This is very likely to create a memory leak. You can control the time allowed for requests
to finish by using the unloadDelay attribute of the standard Context implementation.

Again.

> Nov 15, 2010 8:37:28 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
> SEVERE: The web application [] is still processing a request that has yet to finish.
This is very likely to create a memory leak. You can control the time allowed for requests
to finish by using the unloadDelay attribute of the standard Context implementation.

Interesting that it generated all of these messages at the same time.
I'm not sure if that means you have 3 requests pending or that 3
different problems were found with one thread.

> Nov 15, 2010 8:37:29 PM org.apache.catalina.loader.WebappClassLoader loadClass
> INFO: Illegal access: this web application instance has been stopped already.  Could
not load com.manuals.common.utility.Log.  The eventual following stack trace is caused by
an error thrown for debugging purposes as well as to attempt to terminate the thread which
caused the illegal access, and has no functional impact.
> java.lang.IllegalStateException
> 	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1531)
> 	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
> 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 	at com.manuals.model.utility.DatabaseObject.getStatement(DatabaseObject.java:434)
> 	at com.manuals.model.utility.DatabaseObject.getQueryResultSet(DatabaseObject.java:366)
> 	at com.manuals.model.utility.DatabaseObject.getQueryResultSet(DatabaseObject.java:326)

So that thread is actually doing something -- it hasn't just blocked
indefinitely: your DatabaseObject class is causing the WebappClassLoader
to attempt to load a new class that hadn't been previously loaded. Since
WebappClassLoader knows it's shutting down (or has already shut down at
that point), it is refusing to fulfill the request.

> And also this:
> 
> ov 15, 2010 8:31:09 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> Nov 15, 2010 8:31:10 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> Nov 15, 2010 8:31:11 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> Nov 15, 2010 8:31:12 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> Nov 15, 2010 8:31:13 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> Nov 15, 2010 8:31:14 PM org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated

Since these messages are from earlier, I assume you were just pasting
them in arbitrary order into your post: it looks like Tomcat waited for
a while for your requests to complete (looping, complaining once per
second) and then finally gave up and issued the messages above
("...still processing a request...") at the end.

> Nov 15, 2010 8:31:16 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
> SEVERE: The web application [] appears to have started a thread named [MySQL Statement
Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.

There is almost nothing you can do about this except to upgrade your
MySQL driver: http://bugs.mysql.com/bug.php?id=36565

> Nov 15, 2010 8:31:20 PM org.apache.catalina.core.StandardContext stop
> INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/] has
not been started

This is a different issue. Note that [] (root) is not [/]. Have you
specified your webapp's "path" somewhere. Don't do that.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzi+qwACgkQ9CaO5/Lv0PAK6ACbBl2mBZnnwYFA5aw6GhA3bDxA
kaEAoKhOgsCFMe6N0hgVrmLCMebU4OVw
=sklc
-----END PGP SIGNATURE-----

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


Mime
View raw message