Print

Print


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