WLST Hangs Up Because of Java VM ClassLoader Deadlock
APPLIES TO:
Oracle WebLogic Server - Version 10.0 to 10.3.6
Information in this document applies to any platform.
SYMPTOMS
The WLST connect command hangs up because of a Java VM ClassLoader deadlock issue. You will see the following thread stacks in the thread dumps. The "ExecuteThread: '3' for queue: 'default'" thread waiting to lock <6a04a378>. The "main" thread has lock <6a04a378>. And "main" thread waiting to lock <69a506c0>. The "ExecuteThread: '3' for queue: 'default'" thread has lock <69a506c0>.
at java.lang.ClassLoader.getPackage(ClassLoader.java:1441)
- waiting to lock <6a04a378> (a java.util.HashMap)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:220)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
- locked <69a506c0> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
- locked <69a506c0> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
- locked <69a506c0> (a sun.misc.Launcher$AppClassLoader)
at weblogic.timers.internal.TimerImpl.recordExpirationTime(TimerImpl.java:347)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:272)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
...
"main" prio=7 tid=004999e0 nid=1 lwp_id=-1 waiting for monitor entry [7fffa000..7fffd6e8]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:261)
- waiting to lock <69a506c0> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.net.URL.getURLStreamHandler(URL.java:1141)
at java.net.URL.<init>(URL.java:393)
at java.net.URL.<init>(URL.java:283)
at java.net.URL.<init>(URL.java:306)
at sun.net.www.ParseUtil.fileToEncodedURL(ParseUtil.java:261)
at java.lang.Package$1.run(Package.java:514)
at java.security.AccessController.doPrivileged(Native Method)
at java.lang.Package.defineSystemPackage(Package.java:505)
at java.lang.Package.getSystemPackage(Package.java:481)
- locked <69a63cb8> (a java.util.HashMap)
at java.lang.ClassLoader.getPackage(ClassLoader.java:1447)
- locked <6a05d300> (a java.util.HashMap)
at java.lang.ClassLoader.getPackage(ClassLoader.java:1445)
- locked <6a04a378> (a java.util.HashMap)
at java.lang.ClassLoader.getPackage(ClassLoader.java:1445)
- locked <69a54780> (a java.util.HashMap)
at java.lang.ClassLoader.getPackage(ClassLoader.java:1445)
- locked <69d566e0> (a java.util.HashMap)
at weblogic.utils.classloaders.GenericClassLoader.definePackage(GenericClassLoader.java:442)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:335)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
- locked <69cddb50> (a weblogic.utils.classloaders.GenericClassLoader)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
- locked <69cddb50> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
- locked <69cddb50> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:246)
at weblogic.utils.classloaders.GenericClassLoader.defineCodeGenClass(GenericClassLoader.java:503)
at weblogic.utils.classfile.utils.CodeGenerator.generateClass(CodeGenerator.java:73)
at weblogic.rmi.internal.StubGenerator.hotCodeGenClass(StubGenerator.java:775)
at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerator.java:759)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:786)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:779)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:76)
at weblogic.rmi.internal.StubInfo.resolveObject(StubInfo.java:214)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:208)
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:585)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:227)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
at weblogic.management.remote.iiop.IIOPServerImpl_1001_WLStub.newClient(Unknown Source)
at weblogic.management.remote.common.RMIServerWrapper.newClient(ClientProviderBase.java:234)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2238)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:271)
- locked <65b39430> (a weblogic.management.remote.common.WLSRMIConnector)
at weblogic.management.remote.common.WLSRMIConnector.doConnect(WLSRMIConnector.java:146)
- locked <65b39430> (a weblogic.management.remote.common.WLSRMIConnector)
at weblogic.management.remote.common.WLSRMIConnector.access$100(WLSRMIConnector.java:24)
at weblogic.management.remote.common.WLSRMIConnector$2.run(WLSRMIConnector.java:134)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.security.Security.runAs(Security.java:61)
at weblogic.management.remote.common.WLSRMIConnector.connect(WLSRMIConnector.java:132)
- locked <65b39430> (a weblogic.management.remote.common.WLSRMIConnector)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
at weblogic.management.scripting.WLSTHelper.lookupMBeanServerConnection(WLSTHelper.java:656)
at weblogic.management.scripting.WLSTHelper.initRuntimeServerConnection(WLSTHelper.java:376)
at weblogic.management.scripting.WLSTHelper.initConnections(WLSTHelper.java:305)
at weblogic.management.scripting.WLSTHelper.connect(WLSTHelper.java:201)
at weblogic.management.scripting.WLScriptContext.connect(WLScriptContext.java:60)
at weblogic.management.scripting.utils.WLSTUtil.initializeOnlineWLST(WLSTUtil.java:121)
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:585)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:160)
at org.python.core.PyMethod.__call__(PyMethod.java:96)
at org.python.core.PyObject.__call__(PyObject.java:248)
at org.python.core.PyObject.invoke(PyObject.java:2016)
at org.python.pycode._pyx6.connect$1(<iostream>:16)
at org.python.pycode._pyx6.call_function(<iostream>)
at org.python.core.PyTableCode.call(PyTableCode.java:208)
at org.python.core.PyTableCode.call(PyTableCode.java:404)
at org.python.core.PyFunction.__call__(PyFunction.java:184)
at org.python.pycode._pyx18.f$0(/opt/bea/user_projects/domains/test-domain/shutdown.py:1)
at org.python.pycode._pyx18.call_function(/opt/bea/user_projects/domains/test-domain/shutdown.py)
at org.python.core.PyTableCode.call(PyTableCode.java:208)
at org.python.core.PyCode.call(PyCode.java:14)
at org.python.core.Py.runCode(Py.java:1135)
at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:167)
at weblogic.management.scripting.WLST.main(WLST.java:106)
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:585)
at weblogic.WLST.main(WLST.java:29)
CAUSE
This is a Java VM issue which is documented at JDK-4670071 : java.lang.ClassLoader.loadClassInternal(String) is too restrictive.
The Problem was fixed by the following versions.
- Java 7 GA
- Java 6 update 18
This issue does not occur on Java 7 and higher.
WLST Hangs Up Because of Java VM ClassLoader Deadlock的更多相关文章
- Error: Java VM internal error:Error Loading javai.dll
因为前几天的JMS测试,第一次写了loadrunner的脚本,感觉路一下子宽了. 知道loadrunner可以使用java写脚本,今天就试了一下,遇到了两个第一次写Java Vuser脚本普遍都会遇到 ...
- 「2014-3-13」Javascript Engine, Java VM, Python interpreter, PyPy – a glance
提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter =& ...
- [Java类加载器]Java中classLoader浅析.
本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一.问题 请在Eclipse中新建如下类,并运行它: 1 package java.l ...
- Java基础—ClassLoader的理解
##默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: - Bootstrap ClassLoader - Ext ClassLoader - System C ...
- 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库 RxJava,相当好
https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响 ...
- java vm args
这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的.第一次出现这样的的问题以后,引发了其他的问题.在网上一查可能是JAVA的堆栈 ...
- Java基础—ClassLoader的理解(转)
默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: Bootstrap ClassLoader Ext ClassLoader System ClassLoad ...
- 对java中classloader使用的一点理解(转)
先简单介绍下java的classloader,网上资料很多,就说点关键的. Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的.系统提供的类加载器主 ...
- 获取Java VM中当前运行的所有线程
/** * 获取Java VM中当前运行的所有线程 * @return */ public static Thread[] findAllThreads() { ThreadGroup group = ...
随机推荐
- js查重去重性能优化心得
概述 今天产品反映有个5000条数据的页面的保存按钮很慢,查看代码看到是因为点击保存按钮之后,进行了查重操作,而查重操作是用2个for循环完成了,时间复杂度是O(n^2).没办法,只能想办法优化一下了 ...
- [Swift]LeetCode159.具有最多两个不同字符的最长子串 $ Longest Substring with At Most Two Distinct Characters
Given a string S, find the length of the longest substring T that contains at most two distinct char ...
- [Swift]LeetCode692. 前K个高频单词 | Top K Frequent Words
Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted b ...
- vue中央事件总线eventBus的简单理解和使用
公共事件总线eventBus的实质就是创建一个vue实例,通过一个空的vue实例作为桥梁实现vue组件间的通信.它是实现非父子组件通信的一种解决方案. 用法如下: 第一步:项目中创建一个js文件(我通 ...
- Gin框架源码解析
Gin框架源码解析 Gin框架是golang的一个常用的web框架,最近一个项目中需要使用到它,所以对这个框架进行了学习.gin包非常短小精悍,不过主要包含的路由,中间件,日志都有了.我们可以追着代码 ...
- BitmapToASCii
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using Syste ...
- 并发编程(四)—— ThreadLocal源码分析及内存泄露预防
今天我们一起探讨下ThreadLocal的实现原理和源码分析.首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两 ...
- 华为oj之质数因子
题目: 质数因子 热度指数:5143 时间限制:1秒 空间限制:32768K 本题知识点: 排序 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 ...
- Kafka~Linux环境下的部署
概念 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据 ...
- 使用mpvue开发小程序教程(三)
在上一篇文章中,我们熟悉了一下通过vue-cli生成的mpvue工程代码骨架的基本结构,大致了解了每一个部分的代码到底要放到何处.从本文起我们就开始涉及真正的编码部分,学习使用Vue的语法去编写小程序 ...