On 2/1/2016 8:54 AM, Yuval Schwartz wrote:
Hello Mark,

I think that the issue below was related to the way I was shutting down an
instance of ScheduledExecutorService.
I changed the way it is shutdown when the context is destroyed...I will
update here if I don't receive any more warnings.

However, I now get a warning:

WARNING [main] org.apache.tomcat.util.net.AbstractEndpoint.shutdownExecutor
The executor associated with thread pool [http-apr-8080] has not fully
shutdown. Some application threads may still be running

I am not sure if this is related or not?
When I do a heap dump with jstack I see http-apr-8080-exec-[1-10] but I
don't see any thread named http-apr-8080.
Any ideas on how to trouble shoot this?

Thanks.


Hi, Yuval-

Where are you shutting down the ScheduledExecutorService? I ran into a similar problem trying to stop a ScheduledExecutorService in the contextDestroyed method of a ServletContextListener. Adding a call to Thread.yield() after the executor was terminated removed the warning. To terminate the executor, I used the shutdown() method followed by a loop with a call to awaitTermination().

-Terence Bandoian



On Sun, Jan 31, 2016 at 8:18 PM, Yuval Schwartz <yuval.schwa...@gmail.com>
wrote:


On Sunday, 31 January 2016, Mark Thomas <ma...@apache.org> wrote:

On 31/01/2016 08:06, Yuval Schwartz wrote:
Hellow Mark,

Thanks for the reply.
Follow up questions below.

On Fri, Jan 29, 2016 at 6:22 PM, Mark Thomas <ma...@apache.org> wrote:

On 29/01/2016 14:34, Yuval Schwartz wrote:
Hello,

tomcat version: 8.0.22
java: jdk1.8.0_05
server: Amazon Linux AMI

I get the following warning message in my catalina log when I
undeploy a
web application:

*WARNING [ContainerBackgroundProcessor[StandardEngine[Catalina]]]

org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads
The
web application [ROOT##002] appears to have started a thread named
[pool-2-thread-1] but has failed to stop it. This is very likely to
create
a memory leak. Stack trace of thread*

As you can see, for some reason, I don't get a stack trace of the
thread.
Therefore, I have no idea how to debug this warning.

This particular warning was generated when tomcat detected an unused
version and undeployed it (I set undeployOldVersions="true").

Does anyone know how I can debug this warning. How can I know more
about
this thread?
That looks like a thread from Commons Pool (possibly via DBCP). The
only
way to be sure you have a leak or not is to use a profiler. See


http://home.apache.org/~markt/presentations/2010-11-04-Memory-Leaks-60mins.pdf

Is VisualVM a good profiler to start with considering my system?
Sorry, don't know. Never used it. I use YourKit, mainly because they
kindly donate free licenses to OpenSource developers to use with their
OpenSource projects.

Thank you Mark,

I installed VisualVM as a profiler.
I can now see all of the threads that tomcat is "using" (?not sure if
that's the correct term) (there's 35 live threads and 33 daemon threads).
Do you have any recommendations for how I might trouble shoot the original
warning that I got? Would I do a "heap dump"?
I have restarted tomcat since the time of the original warning message, so
I can't expect to find the same thread, correct?
Any tips?

FYI: I never saw my cpu climbing or anything, I am troubleshooting this
warning solely on seeing the "Warning" message. Is this overkill? Should I
wait until something more severe occurs? (I have not yet gone live with my
webapp but planned on doing so soon).

Thanks.


Mark

I would just like to confirm that this warning is not something serious.
I am currently having a little trouble running VisualVM (jstatd) from a
remote machine but can struggle with it a little more to try to get it
working.


Thanks.



I used the manager app and clicked "find leaks" but it said that there
were
none.
(Can someone also explain why I have to be cautious when using this
feature
on production environments).
It triggers a full GC which may (hopefully briefly) pause the entire
JVM.
Mark


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



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




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

Reply via email to