[OpenAFS-devel] Why do afsd daemons loop tightly after receiving a SIGHUP?
Matt Peterson
matt@calderasystems.com
Wed, 1 Aug 2001 23:14:05 -0600 (MDT)
The OpenAFS client daemons appear to work really well until the daemons
get a SIGHUP or any other signal. After receiving the signal the /afs
mount continues to work only very slowly since several (not all) of the
forked afsd daemons are using 100% of the CPU.
Can anyone else reproduce this? Try starting the afs client in the
normal way and then do a "killall -HUP afsd". Start top and monitor CPU
usage. I am using OpenAFS-1.1.1 and have seen the bad behavior on
linux-2.2.14 and linux-2.4.2. I am using libafs-2.2.14.mp.o and
libafs-2.4.2.mp.o.
From what I could tell from a few minutes of debugging, it looks like
problems start as soon as the flush_signals() call is made in
LINUX/osi_sleep.c:106. I tried for a bit longer to find an
obvious while or for loop problem, but was unable to come up with
anything.
Any ideas?
Please CC matt@caldera.com on replies as I am not yet subscribed to the
list.
Thanks,
--
Matthew Peterson
Sr. Software Engineer
Caldera Systems, Inc
mpeterson@caldera.com