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>.

"ExecuteThread: '3' for queue: 'default'" daemon prio=7 tid=0049b500 nid=17 lwp_id=4192481 waiting for monitor entry [358ff000..35900d50]
    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的更多相关文章

  1. Error: Java VM internal error:Error Loading javai.dll

    因为前几天的JMS测试,第一次写了loadrunner的脚本,感觉路一下子宽了. 知道loadrunner可以使用java写脚本,今天就试了一下,遇到了两个第一次写Java Vuser脚本普遍都会遇到 ...

  2. 「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 =& ...

  3. [Java类加载器]Java中classLoader浅析.

    本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一.问题 请在Eclipse中新建如下类,并运行它: 1 package java.l ...

  4. Java基础—ClassLoader的理解

    ##默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: - Bootstrap ClassLoader - Ext ClassLoader - System C ...

  5. 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库 RxJava,相当好

    https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响 ...

  6. java vm args

    这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的.第一次出现这样的的问题以后,引发了其他的问题.在网上一查可能是JAVA的堆栈 ...

  7. Java基础—ClassLoader的理解(转)

    默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: Bootstrap ClassLoader Ext ClassLoader System ClassLoad ...

  8. 对java中classloader使用的一点理解(转)

    先简单介绍下java的classloader,网上资料很多,就说点关键的. Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的.系统提供的类加载器主 ...

  9. 获取Java VM中当前运行的所有线程

    /** * 获取Java VM中当前运行的所有线程 * @return */ public static Thread[] findAllThreads() { ThreadGroup group = ...

随机推荐

  1. 【RL-TCPnet网络教程】第32章 RL-TCPnet之Telnet服务器

    第32章      RL-TCPnet之Telnet服务器 本章节为大家讲解RL-TCPnet的Telnet应用,学习本章节前,务必要优先学习第31章的Telnet基础知识.有了这些基础知识之后,再搞 ...

  2. [Swift]LeetCode285. 二叉搜索树中的中序后继节点 $ Inorder Successor in BST

    Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ...

  3. python之pickle模块

    1 概念 pickle是python语言的标准模块,安装python后以包含pickle库,不需要再单独安装. pickle提供了一种简单的持久化功能,可以将对象以文件的形式存放在磁盘上. pickl ...

  4. 【原创】一文掌握 Linux 性能分析之 I/O 篇

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 一文掌握 Li ...

  5. Linux 遭入侵,挖矿进程被隐藏排查记录

    今天来给大家分享下这两天遇到的一个问题,服务器被挖矿了,把我的排查记录分享下,希望能帮到有需要的同学. 问题原因 多台服务器持续告警CPU过高,服务器为K8s的应用节点,正常情况下CPU使用率都挺低的 ...

  6. visualsvn的迁移及svn的一些问题

    从A服务器将visualsvn的内容迁移到B服务器的visualsvn. 1 在B服务器上安装visualsvn 到visualsvn官网https://www.visualsvn.com/下载vis ...

  7. 9.Flask Cookie和Session

    1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...

  8. .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理

    通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性. ASP.NET Core 中包含管理身份验证.授权.数据保护.SSL 强制.应用机密.请求防伪保护及 CORS 管理等等安全方面 ...

  9. Java__线程---基础知识全面实战---坦克大战系列为例

    今天想将自己去年自己编写的坦克大战的代码与大家分享一下,主要面向学习过java但对java运用并不是很熟悉的同学,该编程代码基本上涉及了java基础知识的各个方面,大家可以通过练习该程序对自己的jav ...

  10. Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享

    小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...