-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
1.4.2_11
-
sparc
-
solaris_9
When a Socket in SSLSocketFactory and a ServerSocket in SSLServerSocketFactory are created at the same time, deadlock occurs.
CONFIGURATION :
SOlaris 9 (SMP) / JDK1.4.2_11
REPRODUCE :
1. unfold the attached deadlock-socket-jsse.zip
2. modify directory path in run.sh
3. invoke runs.csh
When deadlock occurs, "lock:0" messege does not stop.
-----
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
lock:0
lock:0
create...
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
-----
THREAD DUMP:
Full thread dump Java HotSpot(TM) Client VM (1.4.2_10-b03 mixed mode):
"Thread-10" prio=5 tid=0x0014b558 nid=0x13 in Object.wait() [f0f7e000..f0f7fc30]
at com.sun.net.ssl.internal.ssl.CipherSuite.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.f(DashoA12275)
- locked <0xf5a37df0> (a java.lang.Class)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl.createServerSocket(DashoA12275)
at SocketTest$ServerSockThread.run(SocketTest.java:48)
"Thread-9" prio=5 tid=0x00147610 nid=0x12 in Object.wait() [f107f000..f107fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-8" prio=5 tid=0x00146b58 nid=0x11 in Object.wait() [f117f000..f117fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-7" prio=5 tid=0x001460a0 nid=0x10 in Object.wait() [f127f000..f127fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-6" prio=5 tid=0x001455e8 nid=0xf in Object.wait() [f137f000..f137fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-5" prio=5 tid=0x00144b98 nid=0xe in Object.wait() [f147f000..f147fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-4" prio=5 tid=0x001441f0 nid=0xd in Object.wait() [f157f000..f157fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-3" prio=5 tid=0x00142f08 nid=0xc in Object.wait() [f167f000..f167fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-2" prio=5 tid=0x00142450 nid=0xb in Object.wait() [f177e000..f177fc30]
at com.sun.net.ssl.internal.ssl.SunJSSE_g.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-1" prio=5 tid=0x00141998 nid=0xa in Object.wait() [f997f000..f997fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-0" prio=5 tid=0x00141748 nid=0x9 in Object.wait() [f9a7f000..f9a7fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Signal Dispatcher" daemon prio=10 tid=0x000cfc20 nid=0x6 waiting on condition [0..0]
"Finalizer" daemon prio=8 tid=0x000c8df8 nid=0x4 in Object.wait() [fc77f000..fc77fc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xf1800490> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0xf1800490> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x000c8370 nid=0x3 in Object.wait() [fe27f000..fe27fc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xf1800380> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0xf1800380> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0x000372b8 nid=0x1 waiting on condition [ffbfe000..ffbfe4b4]
at java.lang.Thread.sleep(Native Method)
at SocketTest.<init>(SocketTest.java:26)
at SocketTest.main(SocketTest.java:35)
"VM Thread" prio=5 tid=0x000c7590 nid=0x2 runnable
"VM Periodic Task Thread" prio=10 tid=0x000eb9e8 nid=0x8 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x000cf2e8 nid=0x5 runnable
NOTE:
If deadlock does not occur, the program will terminate with the following message.
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
lock:0
lock:0
create..
accept..
lock:1
CONFIGURATION :
SOlaris 9 (SMP) / JDK1.4.2_11
REPRODUCE :
1. unfold the attached deadlock-socket-jsse.zip
2. modify directory path in run.sh
3. invoke runs.csh
When deadlock occurs, "lock:0" messege does not stop.
-----
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
lock:0
lock:0
create...
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
lock:0
-----
THREAD DUMP:
Full thread dump Java HotSpot(TM) Client VM (1.4.2_10-b03 mixed mode):
"Thread-10" prio=5 tid=0x0014b558 nid=0x13 in Object.wait() [f0f7e000..f0f7fc30]
at com.sun.net.ssl.internal.ssl.CipherSuite.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.f(DashoA12275)
- locked <0xf5a37df0> (a java.lang.Class)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl.createServerSocket(DashoA12275)
at SocketTest$ServerSockThread.run(SocketTest.java:48)
"Thread-9" prio=5 tid=0x00147610 nid=0x12 in Object.wait() [f107f000..f107fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-8" prio=5 tid=0x00146b58 nid=0x11 in Object.wait() [f117f000..f117fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-7" prio=5 tid=0x001460a0 nid=0x10 in Object.wait() [f127f000..f127fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-6" prio=5 tid=0x001455e8 nid=0xf in Object.wait() [f137f000..f137fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-5" prio=5 tid=0x00144b98 nid=0xe in Object.wait() [f147f000..f147fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-4" prio=5 tid=0x001441f0 nid=0xd in Object.wait() [f157f000..f157fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-3" prio=5 tid=0x00142f08 nid=0xc in Object.wait() [f167f000..f167fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-2" prio=5 tid=0x00142450 nid=0xb in Object.wait() [f177e000..f177fc30]
at com.sun.net.ssl.internal.ssl.SunJSSE_g.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.<clinit>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-1" prio=5 tid=0x00141998 nid=0xa in Object.wait() [f997f000..f997fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Thread-0" prio=5 tid=0x00141748 nid=0x9 in Object.wait() [f9a7f000..f9a7fc30]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
at SocketTest$ClientSockThread.run(SocketTest.java:69)
"Signal Dispatcher" daemon prio=10 tid=0x000cfc20 nid=0x6 waiting on condition [0..0]
"Finalizer" daemon prio=8 tid=0x000c8df8 nid=0x4 in Object.wait() [fc77f000..fc77fc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xf1800490> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0xf1800490> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x000c8370 nid=0x3 in Object.wait() [fe27f000..fe27fc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xf1800380> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0xf1800380> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0x000372b8 nid=0x1 waiting on condition [ffbfe000..ffbfe4b4]
at java.lang.Thread.sleep(Native Method)
at SocketTest.<init>(SocketTest.java:26)
at SocketTest.main(SocketTest.java:35)
"VM Thread" prio=5 tid=0x000c7590 nid=0x2 runnable
"VM Periodic Task Thread" prio=10 tid=0x000eb9e8 nid=0x8 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x000cf2e8 nid=0x5 runnable
NOTE:
If deadlock does not occur, the program will terminate with the following message.
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
lock:0
lock:0
create..
accept..
lock:1
- duplicates
-
JDK-4854838 Wrong cipher suite on server side when handshake fails
-
- Resolved
-