The way some DBs work is by having a separate lock monitor thread that runs every few seconds. This thread inspects a list of waiting locks for any cycles, which would indicate a circular relationship between processes holding locks & processes waiting for locks. The db then chooses a victim & kills one of the processes. (See "Inside MS SQL Server" by Delaney, pp778 for details on how the MS DB does this) Dtrace can''t do that, but it would be nice to know when deadlocks occur and include a stack trace of the involved threads. What I have in mind is: 1. Use a profile provider that fires every 5 seconds or so & looks at a given process. 2. Iterate through the locks each thread is holding & use the plockstat provider to check for cycles. 3. Output the stacktraces of the related threads. Is there a script that does this already? Am I missing something obvious here? Thanks This message posted from opensolaris.org