Deadlock detection mechanism incorrectly assumes that thread cannot block itself

Dmytro Sheyko dmytro_sheyko at hotmail.com
Tue Nov 27 08:10:13 PST 2012


Hi,

One more patch regarding deadlock detection.
https://bugs.openjdk.java.net/show_bug.cgi?id=100059

Deadlock detection mechanism assumes that thread cannot block itself. In general this is not right, especially in case of non-reentrant mutexes. One of such examples we can find here (FIFOMutex sample):
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/LockSupport.html

To fix this, we just need to drop unnecessary code.

Attached updated patch and testcase

Thanks,
Dmytro
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20121127/4677b67a/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hotspot0.diff
Type: application/octet-stream
Size: 1348 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20121127/4677b67a/hotspot0.diff 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: SelfDeadlockTest.java
Url: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20121127/4677b67a/SelfDeadlockTest.java 


More information about the hotspot-runtime-dev mailing list