gpt4 book ai didi

java - Tomcat webapp 错误 - 应用程序启动线程 [AWT-Windows] 但未能停止它 - 内存泄漏?

转载 作者:行者123 更新时间:2023-12-05 01:22:06 26 4
gpt4 key购买 nike

直到今天在我的电脑上进行一些本地测试时,我才注意到 Tomcat 在日志文件中发布了一个错误。我正在使用 Tomcat 6.0.29 和 Java JDK 1.6。


2010 年 12 月 1 日下午 12:36:57 org.apache.catalina.core.StandardContext 重新加载
信息:重新加载此上下文已开始
2010 年 12 月 1 日下午 12:36:57 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVER:Web 应用程序 [/AutoSpyder] 似乎启动了一个名为
[AWT-Windows] 但未能阻止它。这很有可能造成内存
泄漏。

什么?我以前从没见过这个。所以我检查了我昨天的日志文件,果然,这个错误也在那里。我不太明白是什么原因造成的。

我可以假设它必须是我的 servlet 之一,它使用来自 java.awt 包的对象吗?如果是这样,我如何查明代码是这个原因造成的吗?



编辑以添加线程转储

2010-12-01 14:28:18Full 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a [I)    at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)    - locked  (a [I)    at 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)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for   (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)    at 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    at java.net.SocketInputStream.socketRead0(Native Method)    at java.net.SocketInputStream.read(SocketInputStream.java:129)    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)    - locked  (a java.io.BufferedInputStream)    at java.io.FilterInputStream.read(FilterInputStream.java:66)    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517)    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)    at 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    at java.net.PlainSocketImpl.socketAccept(Native Method)    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)    - locked  (a java.net.SocksSocketImpl)    at java.net.ServerSocket.implAccept(ServerSocket.java:453)    at java.net.ServerSocket.accept(ServerSocket.java:421)    at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)    at 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    at sun.awt.windows.WToolkit.eventLoop(Native Method)    at sun.awt.windows.WToolkit.run(WToolkit.java:293)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a java.lang.ref.ReferenceQueue$Lock)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)    - locked  (a java.lang.ref.ReferenceQueue$Lock)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)    at sun.java2d.Disposer.run(Disposer.java:127)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)    - locked  (a org.apache.tomcat.util.net.JIoEndpoint$Worker)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)    at org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:565)    - locked  (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)    at 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    at java.net.PlainSocketImpl.socketAccept(Native Method)    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)    - locked  (a java.net.SocksSocketImpl)    at java.net.ServerSocket.implAccept(ServerSocket.java:453)    at java.net.ServerSocket.accept(ServerSocket.java:421)    at org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:312)    at org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:666)    at org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:877)    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)    - locked  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)    - locked  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at java.lang.Object.wait(Object.java:485)    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)    - locked  (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)    at 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    at java.net.PlainSocketImpl.socketAccept(Native Method)    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)    - locked  (a java.net.SocksSocketImpl)    at java.net.ServerSocket.implAccept(ServerSocket.java:453)    at java.net.ServerSocket.accept(ServerSocket.java:421)    at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)    at 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)    at java.lang.Thread.sleep(Native Method)    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1579)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a sun.misc.GC$LatencyLock)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a java.lang.ref.ReferenceQueue$Lock)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)    - locked  (a java.lang.ref.ReferenceQueue$Lock)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)    at 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)    at java.lang.Object.wait(Native Method)    - waiting on  (a java.lang.ref.Reference$Lock)    at java.lang.Object.wait(Object.java:485)    at 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    at java.net.PlainSocketImpl.socketAccept(Native Method)    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)    - locked  (a java.net.SocksSocketImpl)    at java.net.ServerSocket.implAccept(ServerSocket.java:453)    at java.net.ServerSocket.accept(ServerSocket.java:421)    at org.apache.catalina.core.StandardServer.await(StandardServer.java:389)    at org.apache.catalina.startup.Catalina.await(Catalina.java:662)    at org.apache.catalina.startup.Catalina.start(Catalina.java:614)    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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)    at 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

最佳答案

尝试进行线程转储以获取服务器上运行的所有线程的列表。由此,您可以根据堆栈跟踪准确查明哪个类启动了线程

window

在控制台窗口中按 ctrl + break

Unix

在命令行中输入:kill -3 <pid>

关于java - Tomcat webapp 错误 - 应用程序启动线程 [AWT-Windows] 但未能停止它 - 内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com