-
Bug
-
Resolution: Won't Fix
-
P4
-
None
-
None
-
Linux ubuntu 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux
-
linux
FULL PRODUCT VERSION : java version "1.7.0_10" Java(TM) SE Runtime Environment (build 1.7.0_10-b18) Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)
ADDITIONAL OS VERSION INFORMATION : Linux ubuntu 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux
EXTRA RELEVANT SYSTEM CONFIGURATION : just a plain and simple desk-top, running ubuntu.
A DESCRIPTION OF THE PROBLEM : A simple program with two threads deadlocks the JVM. !!
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : ceems@ubuntu:~/phd-new/thesis/last-minus/oopsla/oopsla$ /usr/local/share/jdk1.7.0_10/bin/jdb CorbaEDeadlock Initializing jdb ... > stop in com.sun.org.omg.CORBA.OperationDescriptionHelper.type Deferring breakpoint com.sun.org.omg.CORBA.OperationDescriptionHelper.type. It will be set after the class is loaded. > stop in com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type Deferring breakpoint com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type. It will be set after the class is loaded. > run run CorbaEDeadlock Set uncaught java.lang.Throwable Set deferred uncaught java.lang.Throwable > VM Started: Set deferred breakpoint com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type Breakpoint hit: "thread=Thread-0", com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type(), line=60 bci=0 Thread-0[1] threads Group system: (java.lang.ref.Reference$ReferenceHandler)0x150 Reference Handler cond. waiting (java.lang.ref.Finalizer$FinalizerThread)0x14f Finalizer cond. waiting (java.lang.Thread)0x14e Signal Dispatcher running Group main: (CorbaEDeadlock$1)0x176 Thread-0 running (at breakpoint) (CorbaEDeadlock$2)0x178 Thread-1 running (java.lang.Thread)0x177 DestroyJavaVM running Thread-0[1] suspend 0x176 Thread-0[1] cont > Set deferred breakpoint com.sun.org.omg.CORBA.OperationDescriptionHelper.type Breakpoint hit: "thread=Thread-1", com.sun.org.omg.CORBA.OperationDescriptionHelper.type(), line=60 bci=0 Thread-1[1] threadlocks Monitor information for thread Thread-1: Owned monitor: instance of java.lang.Class(reflected class=com.sun.org.omg.CORBA.OperationDescriptionHelper, id=380) Not waiting for a monitor Thread-1[1] threads Group system: (java.lang.ref.Reference$ReferenceHandler)0x150 Reference Handler cond. waiting (java.lang.ref.Finalizer$FinalizerThread)0x14f Finalizer cond. waiting (java.lang.Thread)0x14e Signal Dispatcher running Group main: (CorbaEDeadlock$1)0x176 Thread-0 running (at breakpoint) (CorbaEDeadlock$2)0x178 Thread-1 running (at breakpoint) (java.lang.Thread)0x177 DestroyJavaVM running Thread-1[1] resume 0x176 Thread-1[1] cont > ^\2013-03-22 21:29:15 Full thread dump Java HotSpot(TM) Server VM (23.6-b04 mixed mode): [...] Found one Java-level deadlock: ============================= "Thread-1": waiting to lock monitor 0x08ed0b68 (object 0xa4976aa8, a java.lang.Class), which is held by "Thread-0" "Thread-0": waiting to lock monitor 0x08ecff4c (object 0xa49f0638, a java.lang.Class), which is held by "Thread-1" Java stack information for the threads listed above: =================================================== "Thread-1": at com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type(ExceptionDescriptionHelper.java:60) - waiting to lock <0xa4976aa8> (a java.lang.Class for com.sun.org.omg.CORBA.ExceptionDescriptionHelper) at com.sun.org.omg.CORBA.OperationDescriptionHelper.type(OperationDescriptionHelper.java:123) - locked <0xa49f0638> (a java.lang.Class for org.omg.CORBA.TypeCode) - locked <0xa49f04c8> (a java.lang.Class for com.sun.org.omg.CORBA.OperationDescriptionHelper) at CorbaEDeadlock$2.run(CorbaEDeadlock.java:7) "Thread-0": at com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type(ExceptionDescriptionHelper.java:64) - waiting to lock <0xa49f0638> (a java.lang.Class for org.omg.CORBA.TypeCode) - locked <0xa4976aa8> (a java.lang.Class for com.sun.org.omg.CORBA.ExceptionDescriptionHelper) at CorbaEDeadlock$1.run(CorbaEDeadlock.java:4) Found 1 deadlock. [...]
EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - The underlying JVM ought not to dweadlock
ACTUAL - As demonstrated using jdb the program always deadlocks
ERROR MESSAGES/STACK TRACES THAT OCCUR : Deadlocked stack. REPRODUCIBILITY : This bug can be reproduced often. ---------- BEGIN SOURCE ---------- ceems@ubuntu:~/phd-new/thesis/last-minus/deadlocks$ cat CorbaEDeadlock.java /*<Cycle-2 locks=" org.omg.CORBA.TypeCode.class com.sun.org.omg.CORBA.ExceptionDescriptionHelper.class"> <Thread-1> <com.sun.org.omg.CORBA.OperationDescriptionHelper.class>com.sun.org.omg.CORBA.OperationDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode; <org.omg.CORBA.TypeCode.class>com.sun.org.omg.CORBA.OperationDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode;#Lorg/omg/CORBA/TypeCode.class;#0=VarientOf=com.sun.org.omg.CORBA.OperationDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode; com.sun.org.omg.CORBA.ExceptionDescriptionHelper.class <com.sun.org.omg.CORBA.ExceptionDescriptionHelper.class>com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode; </Thread-1> <Thread-2> com.sun.org.omg.CORBA.ExceptionDescriptionHelper.insert:(Lorg/omg/CORBA/Any;Lcom/sun/org/omg/CORBA/ExceptionDescription;)V <com.sun.org.omg.CORBA.ExceptionDescriptionHelper.class>com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode; org.omg.CORBA.TypeCode.class <org.omg.CORBA.TypeCode.class>com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode;#Lorg/omg/CORBA/TypeCode.class;#0=VarientOf=com.sun.org.omg.CORBA.ExceptionDescriptionHelper.type:()Lorg/omg/CORBA/TypeCode; *</Thread-2> *</Cycle-2> */ public class CorbaEDeadlock { public static void main(String[] args) { new Thread() { public void run() { (new com.sun.org.omg.CORBA.ExceptionDescriptionHelper()).type(); }; }.start(); new Thread() { public void run() { (new com.sun.org.omg.CORBA.OperationDescriptionHelper()).type(); }; }.start(); } }
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND : No work around
- relates to
-
JDK-8017772 Java Library deadlock -- in the CORBA-API
- Closed
-
JDK-8049840 Corba classes deadlock
- Closed
-
JDK-8017772 Java Library deadlock -- in the CORBA-API
- Closed
-
JDK-8049840 Corba classes deadlock
- Closed
-
JDK-6985435 Code generated by IDLJ is not thread-safe
- Closed
-
JDK-8049838 Corba classes deadlock
- Closed
(1 relates to)