Nicholas (& any newbies listening in),
Just to make sure all bases are covered:
1. LIST.READU's "EVERY" keyword.
Besides showing group locks, it will also, at the very end, show who is
waiting on a lock.
If there are 2 lines where waiter & lock-holder are reversed on the 2nd
line, you have a deadlock.
2. There is also a deadlock daemon that you can run or not run as you wish.
If you turn it off, & closely monitor it manually, you can find the
offending code. Both processes will hang until you find it & log one off.
PORT.STATUS can then tell you what code is being executed when the
deadlock hit the 2 offending processes.
PORT.STATUS PID [pid] LAYER.STACK is especially useful.
2b. The deadlock daemon's log can give you a history of when deadlocks
were found.
My last 2 entries were last June & August:
Wed Jun 01 15:49:07 2011 - Deadlock detected (victim User 61023)
Mon Aug 01 17:05:57 2011 - Deadlock detected (victim User 5380)
3. If you have writes without explicit readus preceding them, UV will
wait for a readu lock behind the scenes, but it won't tell you about it
in the LIST.READU waiter section. You can change the default behaviour.
I think deadlock daemon handles this, but I don't recall for certain.
On 3/26/2012 2:19 AM, Namacha, N. (Nicholas) wrote:
The issue here is to try and monitor for deadlocks.
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users