java - Tomcat webapp error - application started thread [AWT-Windows] but has failed to stop it - memory leak? -
i didn't notice until today during testing locally on pc, tomcat had posted error in log file. i'm using tomcat 6.0.29 , java jdk 1.6.
dec 1, 2010 12:36:57 pm org.apache.catalina.core.standardcontext reload info: reloading context has started dec 1, 2010 12:36:57 pm org.apache.catalina.loader.webappclassloader clearreferencesthreads sever: web application [/autospyder] appears have started thread named [awt-windows] has failed stop it. create memory leak.
what? i've never seen before. checked log file yesterday, , sure enough, error there too. don't quite understand what's causing this.
can assume have 1 of servlets uses objects java.awt
package? if so, how pinpoint code causing this?
edited add thread dump
2010-12-01 14:28:18 full thread dump java hotspot(tm) client vm (17.1-b03 mixed mode, sharing): "jmx server connection timeout 34" daemon prio=6 tid=0x03069400 nid=0x960 in object.wait() [0x0461f000] java.lang.thread.state: timed_waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a [i) @ com.sun.jmx.remote.internal.servercommunicatoradmin$timeout.run(servercommunicatoradmin.java:150) - locked (a [i) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "rmi scheduler(0)" daemon prio=6 tid=0x03069000 nid=0xe88 waiting on condition [0x045cf000] java.lang.thread.state: timed_waiting (parking) @ sun.misc.unsafe.park(native method) - parking wait (a java.util.concurrent.locks.abstractqueuedsynchronizer$conditionobject) @ java.util.concurrent.locks.locksupport.parknanos(locksupport.java:198) @ java.util.concurrent.locks.abstractqueuedsynchronizer$conditionobject.awaitnanos(abstractqueuedsynchronizer.java:2025) @ java.util.concurrent.delayqueue.take(delayqueue.java:164) @ java.util.concurrent.scheduledthreadpoolexecutor$delayedworkqueue.take(scheduledthreadpoolexecutor.java:609) @ java.util.concurrent.scheduledthreadpoolexecutor$delayedworkqueue.take(scheduledthreadpoolexecutor.java:602) @ java.util.concurrent.threadpoolexecutor.gettask(threadpoolexecutor.java:947) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:907) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "rmi tcp connection(1)-192.168.0.102" daemon prio=6 tid=0x0308a400 nid=0xebc runnable [0x0457f000] java.lang.thread.state: runnable @ java.net.socketinputstream.socketread0(native method) @ java.net.socketinputstream.read(socketinputstream.java:129) @ java.io.bufferedinputstream.fill(bufferedinputstream.java:218) @ java.io.bufferedinputstream.read(bufferedinputstream.java:237) - locked (a java.io.bufferedinputstream) @ java.io.filterinputstream.read(filterinputstream.java:66) @ sun.rmi.transport.tcp.tcptransport.handlemessages(tcptransport.java:517) @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run0(tcptransport.java:790) @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run(tcptransport.java:649) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - (a java.util.concurrent.locks.reentrantlock$nonfairsync) "rmi tcp accept-0" daemon prio=6 tid=0x039e0c00 nid=0xc68 runnable [0x0452f000] java.lang.thread.state: runnable @ java.net.plainsocketimpl.socketaccept(native method) @ java.net.plainsocketimpl.accept(plainsocketimpl.java:390) - locked (a java.net.sockssocketimpl) @ java.net.serversocket.implaccept(serversocket.java:453) @ java.net.serversocket.accept(serversocket.java:421) @ sun.management.jmxremote.localrmiserversocketfactory$1.accept(localrmiserversocketfactory.java:34) @ sun.rmi.transport.tcp.tcptransport$acceptloop.executeacceptloop(tcptransport.java:369) @ sun.rmi.transport.tcp.tcptransport$acceptloop.run(tcptransport.java:341) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "awt-windows" daemon prio=6 tid=0x02b65400 nid=0x7c4 runnable [0x042cf000] java.lang.thread.state: runnable @ sun.awt.windows.wtoolkit.eventloop(native method) @ sun.awt.windows.wtoolkit.run(wtoolkit.java:293) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "java2d disposer" daemon prio=10 tid=0x02fccc00 nid=0x93c in object.wait() [0x039df000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a java.lang.ref.referencequeue$lock) @ java.lang.ref.referencequeue.remove(referencequeue.java:118) - locked (a java.lang.ref.referencequeue$lock) @ java.lang.ref.referencequeue.remove(referencequeue.java:134) @ sun.java2d.disposer.run(disposer.java:127) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-6" daemon prio=6 tid=0x03322800 nid=0xfec in object.wait() [0x0395f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-5" daemon prio=6 tid=0x02ba5c00 nid=0xdbc in object.wait() [0x0390f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-4" daemon prio=6 tid=0x02ff6400 nid=0xa1c in object.wait() [0x038bf000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-3" daemon prio=6 tid=0x0317e400 nid=0x850 in object.wait() [0x0386f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-2" daemon prio=6 tid=0x03314800 nid=0xf9c in object.wait() [0x0381f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-1" daemon prio=6 tid=0x02efe800 nid=0x250 in object.wait() [0x037cf000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.net.jioendpoint$worker) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.net.jioendpoint$worker.await(jioendpoint.java:458) - locked (a org.apache.tomcat.util.net.jioendpoint$worker) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:484) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "tp-monitor" daemon prio=6 tid=0x02eed800 nid=0xd64 in object.wait() [0x0375f000] java.lang.thread.state: timed_waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.threads.threadpool$monitorrunnable) @ org.apache.tomcat.util.threads.threadpool$monitorrunnable.run(threadpool.java:565) - locked (a org.apache.tomcat.util.threads.threadpool$monitorrunnable) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "tp-processor4" daemon prio=6 tid=0x0318b000 nid=0x998 runnable [0x0370f000] java.lang.thread.state: runnable @ java.net.plainsocketimpl.socketaccept(native method) @ java.net.plainsocketimpl.accept(plainsocketimpl.java:390) - locked (a java.net.sockssocketimpl) @ java.net.serversocket.implaccept(serversocket.java:453) @ java.net.serversocket.accept(serversocket.java:421) @ org.apache.jk.common.channelsocket.accept(channelsocket.java:312) @ org.apache.jk.common.channelsocket.acceptconnections(channelsocket.java:666) @ org.apache.jk.common.channelsocket$socketacceptor.runit(channelsocket.java:877) @ org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:690) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "tp-processor3" daemon prio=6 tid=0x0308f800 nid=0x92c in object.wait() [0x036bf000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:662) - locked (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "tp-processor2" daemon prio=6 tid=0x03192400 nid=0xfac in object.wait() [0x0366f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:662) - locked (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "tp-processor1" daemon prio=6 tid=0x03182400 nid=0x8d8 in object.wait() [0x0361f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.object.wait(object.java:485) @ org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:662) - locked (a org.apache.tomcat.util.threads.threadpool$controlrunnable) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "http-8080-acceptor-0" daemon prio=6 tid=0x03172400 nid=0xf04 runnable [0x035cf000] java.lang.thread.state: runnable @ java.net.plainsocketimpl.socketaccept(native method) @ java.net.plainsocketimpl.accept(plainsocketimpl.java:390) - locked (a java.net.sockssocketimpl) @ java.net.serversocket.implaccept(serversocket.java:453) @ java.net.serversocket.accept(serversocket.java:421) @ org.apache.tomcat.util.net.defaultserversocketfactory.acceptsocket(defaultserversocketfactory.java:61) @ org.apache.tomcat.util.net.jioendpoint$acceptor.run(jioendpoint.java:352) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "containerbackgroundprocessor[standardengine[catalina]]" daemon prio=6 tid=0x03163400 nid=0xbe8 waiting on condition [0x0357f000] java.lang.thread.state: timed_waiting (sleeping) @ java.lang.thread.sleep(native method) @ org.apache.catalina.core.containerbase$containerbackgroundprocessor.run(containerbase.java:1579) @ java.lang.thread.run(thread.java:662) locked ownable synchronizers: - none "gc daemon" daemon prio=2 tid=0x0307bc00 nid=0x110 in object.wait() [0x0349f000] java.lang.thread.state: timed_waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a sun.misc.gc$latencylock) @ sun.misc.gc$daemon.run(gc.java:100) - locked (a sun.misc.gc$latencylock) locked ownable synchronizers: - none "low memory detector" daemon prio=6 tid=0x02aecc00 nid=0x5b4 runnable [0x00000000] java.lang.thread.state: runnable locked ownable synchronizers: - none "compilerthread0" daemon prio=10 tid=0x02ae7000 nid=0x798 waiting on condition [0x00000000] java.lang.thread.state: runnable locked ownable synchronizers: - none "attach listener" daemon prio=10 tid=0x02ae5800 nid=0xddc waiting on condition [0x00000000] java.lang.thread.state: runnable locked ownable synchronizers: - none "signal dispatcher" daemon prio=10 tid=0x02ae4000 nid=0xc00 runnable [0x00000000] java.lang.thread.state: runnable locked ownable synchronizers: - none "finalizer" daemon prio=8 tid=0x02add400 nid=0x378 in object.wait() [0x02caf000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a java.lang.ref.referencequeue$lock) @ java.lang.ref.referencequeue.remove(referencequeue.java:118) - locked (a java.lang.ref.referencequeue$lock) @ java.lang.ref.referencequeue.remove(referencequeue.java:134) @ java.lang.ref.finalizer$finalizerthread.run(finalizer.java:159) locked ownable synchronizers: - none "reference handler" daemon prio=10 tid=0x02adbc00 nid=0x474 in object.wait() [0x02c5f000] java.lang.thread.state: waiting (on object monitor) @ java.lang.object.wait(native method) - waiting on (a java.lang.ref.reference$lock) @ java.lang.object.wait(object.java:485) @ java.lang.ref.reference$referencehandler.run(reference.java:116) - locked (a java.lang.ref.reference$lock) locked ownable synchronizers: - none "main" prio=6 tid=0x002b7000 nid=0x14c runnable [0x0090f000] java.lang.thread.state: runnable @ java.net.plainsocketimpl.socketaccept(native method) @ java.net.plainsocketimpl.accept(plainsocketimpl.java:390) - locked (a java.net.sockssocketimpl) @ java.net.serversocket.implaccept(serversocket.java:453) @ java.net.serversocket.accept(serversocket.java:421) @ org.apache.catalina.core.standardserver.await(standardserver.java:389) @ org.apache.catalina.startup.catalina.await(catalina.java:662) @ org.apache.catalina.startup.catalina.start(catalina.java:614) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ org.apache.catalina.startup.bootstrap.start(bootstrap.java:289) @ org.apache.catalina.startup.bootstrap.main(bootstrap.java:414) locked ownable synchronizers: - none "vm thread" prio=10 tid=0x02ada400 nid=0x210 runnable "vm periodic task thread" prio=10 tid=0x02aefc00 nid=0x79c waiting on condition jni global references: 1529
try taking thread dump list of threads running on server. this, may able pinpoint class started thread based on stack traces
windows
on console window press ctrl + break
unix
in command line enter: kill -3 <pid>
Comments
Post a Comment