Andy, We think we found the bug. It is in XrdOdcManager.cc There is a method called whatsUp() that sometimes may not release a lock. The unlock should be outside the if. It is called from XrdOdcFinder if a send fails. And that creates a dangling lock. We found thread 15 waiting for the lock at XrdOdcManager.cc line 107 (myData.lock()) while thread 7 held the lock but was sleeping waiting for new work. I will test with a fixed version of whatsUp() -- Gregory J. Sharp email: [log in to unmask] Wilson Synchrotron Laboratory url: http://www.lepp.cornell.edu/~gregor Dryden Rd ph: +1 607 255 4882 Ithaca, NY 14853 fax: +1 607 255 8062