- 浏览: 254922 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
soho00147:
我的想法是在这个插件的基础上编写更加强大的插件,扫描目录时发现 ...
maven增量编译的思考 -
soho00147:
如果没有变动则 maven install
使用时,直接 ...
maven增量编译的思考 -
soho00147:
可以参考这个插件,这个插件是对maven项目以module级别 ...
maven增量编译的思考
Found one Java-level deadlock:
=============================
"StartStopServicePool-5 - 5165":
waiting to lock monitor 0x0816cc20 (object 0xb37eb908, a sun.misc.Launcher$AppClassLoader),
which is held by "soxplugin"
"soxplugin":
waiting to lock monitor 0x08468ed4 (object 0xaf99edf8, a java.lang.Class),
which is held by "StartStopServicePool-5 - 5165"
Java stack information for the threads listed above:
===================================================
"StartStopServicePool-5 - 5165":
at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
- waiting to lock <0xb37eb908> (a sun.misc.Launcher$AppClassLoader) at sun.security.jca.ProviderList.loadAll(Unknown Source)
at sun.security.jca.ProviderList.removeInvalid(Unknown Source)
at sun.security.jca.Providers.getFullProviderList(Unknown Source)
- locked <0xaf99edf8> (a java.lang.Class for sun.security.jca.Providers) at java.security.Security.getProviders(Unknown Source)
at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:78)
at no.axxessit.il.axxrpc.AxxRpcAdapter.<clinit>(AxxRpcAdapter.java:142)
at no.axxessit.il.axxrpc.NeInfoReader.<init>(NeInfoReader.java:71)
at no.axxessit.il.xmlrpc.XmlRpcDiscovery.connect(XmlRpcDiscovery.java:93)
at no.axxessit.im.NeDiscovery.load(NeDiscovery.java:215)
at no.axxessit.sooem.NeLoader.addNe(NeLoader.java:98)
at no.axxessit.sooem.netmodules.NetServiceFactory.connect(NetServiceFactory.java:160)
at no.axxessit.sooem.netmodules.NetServiceFactory.init(NetServiceFactory.java:141)
at no.axxessit.sooem.netmodules.NetServiceFactoryFacade.init(NetServiceFactoryFacade.java:71)
at no.axxessit.sooem.auxmodules.StartStop.processStartNet(StartStop.java:606)
at no.axxessit.sooem.plugin.request.StartStopServicePool$StartStopService.handleMessage(StartStopServicePool.java:69)
at no.axxessit.sooem.plugin.uithread.UIThread.run(UIThread.java:246)
at java.lang.Thread.run(Unknown Source)
"soxplugin":
at sun.security.jca.Providers.beginThreadProviderList(Unknown Source)
- waiting to lock <0xaf99edf8> (a java.lang.Class for sun.security.jca.Providers) at sun.security.jca.Providers.startJarVerification(Unknown Source)
at sun.security.util.SignatureFileVerifier.<init>(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
- locked <0xb449cc40> (a java.util.jar.JarFile)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
at sun.misc.Resource.cachedInputStream(Unknown Source)
- locked <0xb4bfa760> (a sun.misc.URLClassPath$JarLoader$2)
at sun.misc.Resource.getByteBuffer(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0xb37eb908> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
- locked <0xb37eb908> (a sun.misc.Launcher$AppClassLoader) at java.lang.ClassLoader.loadClass(Unknown Source)
at no.axxessit.nmi.notif.EventProcessor.<init>(EventProcessor.java:44)
at no.axxessit.nmi.NMIGWImpl.initCommunicationService(NMIGWImpl.java:259)
at no.axxessit.nmi.NMIGWImpl.activateGateway(NMIGWImpl.java:153)
at no.axxessit.gw.common.fw.AbstractGatewayImpl.startup(AbstractGatewayImpl.java:35)
at no.axxessit.nmi.NMIGWImpl.startup(NMIGWImpl.java:137)
at no.axxessit.sooplugin.action.StartupBaseServiceAction.performAction(StartupBaseServiceAction.java:23)
at no.axxessit.sooplugin.action.StartupCspGatewaysAction.performAction(StartupCspGatewaysAction.java:40)
at no.axxessit.sooplugin.SooPlugin.start(SooPlugin.java:50)
at no.axxessit.sooplugin.SooPlugin.startup(SooPlugin.java:40)
at no.axxessit.common.as.BaseServiceWrapper.run(BaseServiceWrapper.java:97)
at java.lang.Thread.run(Unknown Source)
at no.axxessit.common.thread.AxxThread.safeRun(AxxThread.java:169)
at no.axxessit.common.thread.AxxThread$1.run(AxxThread.java:134)
at java.security.AccessController.doPrivileged(Native Method)
at no.axxessit.common.thread.AxxThread.run(AxxThread.java:138)
Found 1 deadlock.
Heap
PSYoungGen total 344064K, used 35831K [0xdb7e0000, 0xf37e0000, 0xf37e0000)
eden space 294912K, 12% used [0xdb7e0000,0xddadde98,0xed7e0000)
from space 49152K, 0% used [0xf07e0000,0xf07e0000,0xf37e0000)
to space 49152K, 0% used [0xed7e0000,0xed7e0000,0xf07e0000)
PSOldGen total 131072K, used 24937K [0xb37e0000, 0xbb7e0000, 0xdb7e0000)
object space 131072K, 19% used [0xb37e0000,0xb503a5d0,0xbb7e0000)
PSPermGen total 30976K, used 17511K [0xaf7e0000, 0xb1620000, 0xb37e0000)
object space 30976K, 56% used [0xaf7e0000,0xb08f9ff8,0xb1620000)
Solution 1: 让两个线程先后执行.
Solution 2: 在第一个线程里先锁ClassLoader.
ClassLoader cl = this.getClass().getClassLoader();
synchronized(cl){
}
=============================
"StartStopServicePool-5 - 5165":
waiting to lock monitor 0x0816cc20 (object 0xb37eb908, a sun.misc.Launcher$AppClassLoader),
which is held by "soxplugin"
"soxplugin":
waiting to lock monitor 0x08468ed4 (object 0xaf99edf8, a java.lang.Class),
which is held by "StartStopServicePool-5 - 5165"
Java stack information for the threads listed above:
===================================================
"StartStopServicePool-5 - 5165":
at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
- waiting to lock <0xb37eb908> (a sun.misc.Launcher$AppClassLoader) at sun.security.jca.ProviderList.loadAll(Unknown Source)
at sun.security.jca.ProviderList.removeInvalid(Unknown Source)
at sun.security.jca.Providers.getFullProviderList(Unknown Source)
- locked <0xaf99edf8> (a java.lang.Class for sun.security.jca.Providers) at java.security.Security.getProviders(Unknown Source)
at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:78)
at no.axxessit.il.axxrpc.AxxRpcAdapter.<clinit>(AxxRpcAdapter.java:142)
at no.axxessit.il.axxrpc.NeInfoReader.<init>(NeInfoReader.java:71)
at no.axxessit.il.xmlrpc.XmlRpcDiscovery.connect(XmlRpcDiscovery.java:93)
at no.axxessit.im.NeDiscovery.load(NeDiscovery.java:215)
at no.axxessit.sooem.NeLoader.addNe(NeLoader.java:98)
at no.axxessit.sooem.netmodules.NetServiceFactory.connect(NetServiceFactory.java:160)
at no.axxessit.sooem.netmodules.NetServiceFactory.init(NetServiceFactory.java:141)
at no.axxessit.sooem.netmodules.NetServiceFactoryFacade.init(NetServiceFactoryFacade.java:71)
at no.axxessit.sooem.auxmodules.StartStop.processStartNet(StartStop.java:606)
at no.axxessit.sooem.plugin.request.StartStopServicePool$StartStopService.handleMessage(StartStopServicePool.java:69)
at no.axxessit.sooem.plugin.uithread.UIThread.run(UIThread.java:246)
at java.lang.Thread.run(Unknown Source)
"soxplugin":
at sun.security.jca.Providers.beginThreadProviderList(Unknown Source)
- waiting to lock <0xaf99edf8> (a java.lang.Class for sun.security.jca.Providers) at sun.security.jca.Providers.startJarVerification(Unknown Source)
at sun.security.util.SignatureFileVerifier.<init>(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
- locked <0xb449cc40> (a java.util.jar.JarFile)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
at sun.misc.Resource.cachedInputStream(Unknown Source)
- locked <0xb4bfa760> (a sun.misc.URLClassPath$JarLoader$2)
at sun.misc.Resource.getByteBuffer(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0xb37eb908> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
- locked <0xb37eb908> (a sun.misc.Launcher$AppClassLoader) at java.lang.ClassLoader.loadClass(Unknown Source)
at no.axxessit.nmi.notif.EventProcessor.<init>(EventProcessor.java:44)
at no.axxessit.nmi.NMIGWImpl.initCommunicationService(NMIGWImpl.java:259)
at no.axxessit.nmi.NMIGWImpl.activateGateway(NMIGWImpl.java:153)
at no.axxessit.gw.common.fw.AbstractGatewayImpl.startup(AbstractGatewayImpl.java:35)
at no.axxessit.nmi.NMIGWImpl.startup(NMIGWImpl.java:137)
at no.axxessit.sooplugin.action.StartupBaseServiceAction.performAction(StartupBaseServiceAction.java:23)
at no.axxessit.sooplugin.action.StartupCspGatewaysAction.performAction(StartupCspGatewaysAction.java:40)
at no.axxessit.sooplugin.SooPlugin.start(SooPlugin.java:50)
at no.axxessit.sooplugin.SooPlugin.startup(SooPlugin.java:40)
at no.axxessit.common.as.BaseServiceWrapper.run(BaseServiceWrapper.java:97)
at java.lang.Thread.run(Unknown Source)
at no.axxessit.common.thread.AxxThread.safeRun(AxxThread.java:169)
at no.axxessit.common.thread.AxxThread$1.run(AxxThread.java:134)
at java.security.AccessController.doPrivileged(Native Method)
at no.axxessit.common.thread.AxxThread.run(AxxThread.java:138)
Found 1 deadlock.
Heap
PSYoungGen total 344064K, used 35831K [0xdb7e0000, 0xf37e0000, 0xf37e0000)
eden space 294912K, 12% used [0xdb7e0000,0xddadde98,0xed7e0000)
from space 49152K, 0% used [0xf07e0000,0xf07e0000,0xf37e0000)
to space 49152K, 0% used [0xed7e0000,0xed7e0000,0xf07e0000)
PSOldGen total 131072K, used 24937K [0xb37e0000, 0xbb7e0000, 0xdb7e0000)
object space 131072K, 19% used [0xb37e0000,0xb503a5d0,0xbb7e0000)
PSPermGen total 30976K, used 17511K [0xaf7e0000, 0xb1620000, 0xb37e0000)
object space 30976K, 56% used [0xaf7e0000,0xb08f9ff8,0xb1620000)
Solution 1: 让两个线程先后执行.
Solution 2: 在第一个线程里先锁ClassLoader.
ClassLoader cl = this.getClass().getClassLoader();
synchronized(cl){
}
发表评论
-
java socket example
2013-07-17 17:08 950ObjectServer.java import java ... -
Eclipse下运行System.getenv()返回null
2012-09-22 18:01 2106在Eclipse下运行System.getenv(" ... -
emma doesn't coverage code with tests with @RunWith(PowerMockRunner.class);
2012-09-14 17:03 2238被测试的class是VINESNodeAddressColle ... -
使用PowerMock导致的ClassCastException
2012-09-07 16:02 2127使用PowerMock时遇到一些莫名其妙的问题,比如: jav ... -
PowerMock incompatible with Mockito issue
2012-09-07 09:55 3771Mock版本如下: Mockito version: 1.8. ... -
一个JTable相关的问题
2012-08-06 18:33 902Exception in thread "AWT-E ... -
Java SPI学习
2012-07-22 16:16 1027Java1.6开始提供了ServiceLoader类来支持SP ... -
用jvmti调试java application: hello world 实现
2012-07-03 11:57 33971. 用C写一个动态链接库, 代码如下: ubuntu@ub ... -
8000 nodes continously disconnect in large network environment
2012-06-21 18:16 1359根本原因是socket资源不足,导致连接失败, 下面是对exc ... -
java Semaphore 实例 -- Hungry Birds
2012-05-09 12:55 2105The Hungry Birds Problem (one ... -
Java Lock 实例 -- 实现简单的tee
2012-05-08 21:36 2916Develop a parallel multithreade ... -
Java synchronized实例 -- Hungry Bird
2012-05-08 21:25 1137Given are n baby birds and one ... -
replaceAll()中正则表达式的应用
2011-10-18 11:13 1283(?i): 忽略大小写; (?m): 在这种模式下,'^'和' ... -
Java集合容器总结(ZZ)
2011-10-11 16:30 1036按数据结构主要有以下几类: 1,内置容器:数组 2,lis ...
相关推荐
本资源提供了一个基于C#实现的多线程死锁检测工具——"Multi-Threading Deadlock Tracer Utility"的源代码,它有助于开发者理解和解决多线程环境中常见的死锁问题。 死锁是多线程编程中的一个严重问题,当两个或多...
什么go-deadlock 为 sync.(RW)Mutex 提供了 (RW)Mutex 的替代品。 如果您创建频道的意大利面,它将不起作用。 仅互斥体。安装go get github.com/sasha-s/go-deadlock/...用法 import "github....
java死锁解决方法 要运行模拟: javac DeadlockedApp.java AppWrapper.java Java -cp 。 应用包装器 关于作者 Uri Shamay 是 Akamai 的首席首席系统软件工程师,您可以阅读有关他的更多信息,并在和关注他。
操作系统教学课件:ch07-Deadlock-1pp.pdf
操作系统概念英文课件:Chapter 07-deadlock.pptx
Java高并发编程是Java开发中的重要领域,尤其在构建大型、高性能的服务器端应用时,对高并发处理能力的需求更为显著。本教程旨在帮助初学者理解并掌握Java高并发的相关知识,同时也为准备面试的开发者提供参考。我们...
8. **并发异常**:在多线程环境中,死锁(Deadlock)、活锁(Livelock)和资源竞争(Race Condition)是常见的问题。使用synchronized关键字、wait()、notify()和notifyAll()方法,以及适当的并发工具类(如...
Chapter 6 - Deadlock主要探讨了资源管理以及与死锁相关的各种概念。以下是详细的知识点解析: 1. 资源(Resources): - 资源是操作系统中被单个进程在某一时刻独占使用的对象,如设备、文件等。 - 资源可以分为...
关于Java死锁和并发性,首先需要了解的是死锁的概念。在并发编程中,死锁是指一组线程中的每个线程都在等待其他线程释放资源,从而导致无法向前推进的情况。这种情况是并发系统中非常普遍的问题,而在Java中,特别是...
总的来说,"OS-Job-Scheduling-and-Deadlock-Experiments"这个实验旨在通过实际操作加深对操作系统核心概念的理解。通过使用Jupyter Notebook和Python,你可以动态地探索不同的调度策略和死锁解决方案,这不仅能够...
java源码剖析防止死锁 我的项目是关于使用动态分析避免多线程程序中的死锁。使用一个名为JADE的工具来实现此项目,并查看其效率如何。该项目中总共有六个模块,这些模块如下所示。程序的某些执行,ta提取的线程是否...
SQL Server上的一个奇怪的Deadlock及其分析方法 Deadlock是SQL Server中的一种常见问题,它会导致事务无法继续执行,影响系统的性能和可靠性。了解Deadlock的产生原因和分析方法是非常重要的。本文将详细介绍SQL ...
哲学家问题陷入僵局五位哲学家想在一张圆桌旁吃饭。在每一个旁边有两个斗杆,与下一个晚餐者共享-餐桌上的客人。演示:Philo1 <-> stick1 <-> Philo2 <-> stick2 <-> Philo3 ......但是,如果他拿起stick1...
Java多线程是Java编程中的核心概念,尤其在开发高并发、高性能的应用程序时不可或缺。在Java中,多线程允许程序同时执行多个任务,从而提高系统资源的利用率和响应速度。下面我们将深入探讨Java多线程的相关知识点。...
死锁1deadlock---马克-to-win java视频的详细描述与介绍
死锁2deadlock---马克-to-win java视频的详细的描述与介绍
IBM Thread and Monitor Dump Analyzer for Java专业JVM调优工具 一、使用方法 1.使用java -jar启动程序 2.找到需要分析的jvm进程 3.使用jstack [pid] > /tmp/sdapjvmlog.txt导出进程的详细日志 4.使用程序打开...
- `java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource`: 两个或多个事务因相互等待对方释放资源而陷入死锁。通过死锁检测工具或优化事务处理逻辑来解决。 9. **权限问题** - `...