[OpenAFS-devel] fileserver deadlocks after internal error in callback.c

Rainer Toebbicke rtb@pclella.cern.ch
Thu, 24 Apr 2003 14:29:09 +0200


Derrick J Brashear wrote:
> On Tue, 15 Apr 2003, Rainer Toebbicke wrote:
> 
> 
>>Checking on 1.2.9-rc4 and in the 'cvsweb.cgi' tree: CleanupTimedOutCallBacks_r
>>in callback.c holds the H_LOCK and may well call ShutDown(), eventually
>>falling through to h_GetWorkStats() which starts with H_LOCK.
>>
>>I didn't see that lock being dropped but might have missed something, but what?
> 
> 
> The lock isn't being dropped explicitly. Instead, we arrange for threads
> that might hold the lock to never take the signal.
> 

which signal? 'ShutDown()' is called because of an internal error condition, 
not because of a signal being received. That error condition can (well, at 
least the code assume it can) happen to almost all the fileserver threads 
regardless of what they block. Have a look in host.c or callback.c.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke        http://cern.ch/~rtb         rtb@mail.cern.ch  O__
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland   > |
Phone: +41 22 767 8985       Fax: +41 22 767 7155                     ( )\( )