Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 4.1
-
Fix Version/s: EE-4.1.0.GA
-
Component/s: MOBI-Components, Sample Apps
-
Labels:None
-
Environment:Tomcat 8, android 6.0.1
-
Assignee Priority:P2
Description
Server warning when removing showcase from Tomcat 8. I was able to produce these warnings by testing only the native demos such as camera, camcorder, fetch-contact etc. then removing the .war file from the server. This appears different from the usual server warnings occasionally seen when removing showcase from the server.
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-1] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-2] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-3] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1085)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-1] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-2] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
21-Dec-2015 10:41:07.544 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [showcase] appears to have started a thread named [pool-1-
thread-3] but has failed to stop it. This is very likely to create a memory leak
. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1085)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
When retesting with individual QA test apps using native comps and Tomcat 8 the following server warnings were found when removing the .war files from the server.
SMS
21-Dec-2015 12:50:00.298 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [sms] appears to have started a thread named [Mojarra-WebR esourceMonitor-1-thread-1] but has failed to stop it. This is very likely to cre ate a memory leak. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNano s(AbstractQueuedSynchronizer.java:2082) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1090) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
Cloud Push
21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [cloudPush] appears to have started a thread named [Mojarr a-WebResourceMonitor-1-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNano s(AbstractQueuedSynchronizer.java:2082) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1090) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745) 21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [cloudPush] appears to have started a thread named [pool-1 -thread-1] but has failed to stop it. This is very likely to create a memory lea k. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs tractQueuedSynchronizer.java:2043) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1079) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745) 21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [cloudPush] appears to have started a thread named [pool-1 -thread-2] but has failed to stop it. This is very likely to create a memory lea k. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs tractQueuedSynchronizer.java:2043) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1079) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745) 21-Dec-2015 13:41:44.835 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [cloudPush] appears to have started a thread named [pool-1 -thread-3] but has failed to stop it. This is very likely to create a memory lea k. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs tractQueuedSynchronizer.java:2043) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1085) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745) 21-Dec-2015 13:41:44.835 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread s The web application [cloudPush] appears to have started a thread named [pool-1 -thread-4] but has failed to stop it. This is very likely to create a memory lea k. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs tractQueuedSynchronizer.java:2043) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:1085) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule dThreadPoolExecutor.java:807) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
Show
Liana Munroe
added a comment - When retesting with individual QA test apps using native comps and Tomcat 8 the following server warnings were found when removing the .war files from the server.
SMS
21-Dec-2015 12:50:00.298 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [sms] appears to have started a thread named [Mojarra-WebR
esourceMonitor-1-thread-1] but has failed to stop it. This is very likely to cre
ate a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNano
s(AbstractQueuedSynchronizer.java:2082)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1090)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
Cloud Push
21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [cloudPush] appears to have started a thread named [Mojarr
a-WebResourceMonitor-1-thread-1] but has failed to stop it. This is very likely
to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNano
s(AbstractQueuedSynchronizer.java:2082)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1090)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [cloudPush] appears to have started a thread named [pool-1
-thread-1] but has failed to stop it. This is very likely to create a memory lea
k. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
21-Dec-2015 13:41:44.825 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [cloudPush] appears to have started a thread named [pool-1
-thread-2] but has failed to stop it. This is very likely to create a memory lea
k. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1079)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
21-Dec-2015 13:41:44.835 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [cloudPush] appears to have started a thread named [pool-1
-thread-3] but has failed to stop it. This is very likely to create a memory lea
k. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1085)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
21-Dec-2015 13:41:44.835 WARNING [ContainerBackgroundProcessor[StandardEngine[Ca
talina]]] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThread
s The web application [cloudPush] appears to have started a thread named [pool-1
-thread-4] but has failed to stop it. This is very likely to create a memory lea
k. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Abs
tractQueuedSynchronizer.java:2043)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:1085)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Schedule
dThreadPoolExecutor.java:807)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang. Thread .run( Thread .java:745)
This turns out to be a Tomcat issue. Tomcat version 8.0.17 will provide a different ServletContext instance to ServletContextListener.contextInitialized than to ServletContextListener.contexDestroyed. Mojarra keeps track of the created servlet context instances and when one of the context is destroyed will verify if it was created in the first place. If not found Mojarra will skip the context cleanup process, that includes any thread locals, thread pools or disposing application scoped beans.
Somewhere in between Tomcat version 8.0.17 and version 8.0.23 the issue was fixed because the issue does not occur in 8.0.23 or later.
Really fixing this issue is out of our reach.