[OpenAFS-devel] deadlock on linux-2.4
Pavel Semerad
semerad@ss1000.ms.mff.cuni.cz
Mon, 3 Jun 2002 19:25:13 +0200
Hi,
there is a deadlock situation in openafs for linux-2.4 (at least in
vanilla kernel 2.4.18 and CVS openafs version). linux-2.2, Solaris 8
and Irix 6.5 seems to be OK.
Alias mc from RedHat 7.3 sometimes caused it when exiting mc. And this
command causes it:
N=0; while true; do N=$(($N+1)); echo $N; (cp /etc/profile aaa &); cat aaa >/dev/null; done
Here is a cmdebug output:
---
** Cache entry @ 0xc49a57d8 for 1.536877573.514.10221
locks: (writer_waiting, upgrade_locked(pid:1334 at:121), 1 read_locks(pid:1395), 2 waiters)
1003 bytes DV 4329 refcnt 2
callback c36c9100 expires 1023138509
2 opens 1 writers
normal file
states (0x21), stat'd
---
pid 1334 is afsd, 1395 is cat
afsd is holding shared lock on vcache->lock and is trying to obtain write lock
in afs/afs_segments.c line 542 .
cat called afs_UFSRead, there obtains read lock and called afs_GetDCache and
then somewhere locks. I don't know where. Can it be linux-2.4 VM issue, or
somebody has any ideas ?
Pavel Semerad