-
Bug
-
Resolution: Won't Fix
-
P3
-
None
-
7u10
-
other
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 therads 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
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 therads 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-8049840 Corba classes deadlock
- Closed
-
JDK-8036570 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-8036570 Java Library deadlock -- in the CORBA-API
- Closed
-
JDK-8049838 Corba classes deadlock
- Closed
(1 relates to)