EAP 6 classloader deadlocks on JRockit JVM

Solution Unverified - Updated -

Issue

  • EAP 6 deadlocks in classloading on the JRockit JDK like so:

"ServerService Thread Pool -- 327" id=805 idx=0x7b4 tid=24043 prio=5 alive, blocked, native_blocked -- Blocked trying to get lock: org/jboss/modules/ModuleClassLoader@0x6bcfcf18[fat lock] at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method) at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1411) at jrockit/vm/Locks.lockFat(Locks.java:1512) at jrockit/vm/Locks.monitorEnterSecondStageHard(Locks.java:1054) at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1005) at jrockit/vm/Locks.monitorEnter(Locks.java:2179) at org/jboss/modules/ModuleClassLoader.defineClass(ModuleClassLoader.java:450) at org/jboss/modules/ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277) at org/jboss/modules/ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92) at org/jboss/modules/Module.loadModuleClass(Module.java:568) at org/jboss/modules/ModuleClassLoader.findClass(ModuleClassLoader.java:205) at org/jboss/modules/ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) at org/jboss/modules/ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) at org/jboss/modules/ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) at org/jboss/modules/ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) at jrockit/vm/Classes.loadClassInternal(Classes.java:76) ^-- Holding lock: org/jboss/modules/ModuleClassLoader@0x6bcefbe0[fat lock] at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method) at jrockit/vm/Classes.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;(Native Method) at java/lang/Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;(Native Method) at java/lang/Class.forName(Class.java:171) "ServerService Thread Pool -- 328" id=806 idx=0x7b8 tid=24044 prio=5 alive, blocked, native_blocked -- Blocked trying to get lock: org/jboss/modules/ModuleClassLoader@0x6bcefbe0[fat lock] at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method) at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1411) at jrockit/vm/Locks.lockFat(Locks.java:1512) at jrockit/vm/Locks.monitorEnterSecondStageHard(Locks.java:1054) at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1005) at jrockit/vm/Locks.monitorEnter(Locks.java:2179) at org/jboss/modules/ModuleClassLoader.defineClass(ModuleClassLoader.java:450) at org/jboss/modules/ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277) at org/jboss/modules/ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92) at org/jboss/modules/Module.loadModuleClass(Module.java:568) at org/jboss/modules/ModuleClassLoader.findClass(ModuleClassLoader.java:205) at org/jboss/modules/ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) at org/jboss/modules/ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) at org/jboss/modules/ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) at org/jboss/modules/ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) at jrockit/vm/Classes.loadClassInternal(Classes.java:76) ^-- Holding lock: org/jboss/modules/ModuleClassLoader@0x6bcfcf18[fat lock] at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method) at jrockit/vm/RNI.generateVirtualCode(Ljava/lang/Object;JJ)J(Native Method)

Environment

  • JBoss Enterprise Application Platform (EAP) 6.x
  • JRockit 1.6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content