[OpenAFS-devel] Frantic activity in viced/callback.c around MultiBreakCallBack_r
Rainer Toebbicke
rtb@pclella.cern.ch
Wed, 03 Nov 2004 18:06:37 +0100
We just suffered from a crash in viced/callback.c in the routine
MultiBreakCallBack_r.
Base was Openafs 1.2.11, but in the rush of protecting the fileserver
against the pre-1.3.73 Windows clients I built with a version of
callback.c that included rx_PutConnection(hp->callback_rxcon) in
MultiBreakCallBack_r. The fileserver crashed because the callback_rxcon
had obviously already been rx-destroyed, free()ed and the memory reused
for something else before, but the pointer had not been zeroed out.
Looks like there is a lock on the host missing somewhere.
May I suggest that the callback_rxconn pointer gets zeroed whenever the
connection is destroyed, and that subsequent calls on that supposed
connection check whether it is non-zero?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke http://cern.ch/rtb -or- rtb@mail.cern.ch
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland
Phone: +41 22 767 8985 Fax: +41 22 767 7155