On Mon, 18 Aug 2003 18:56:23 +0300 (EEST) Andrei Bulava wrote: > On Mon, 18 Aug 2003, Grigory Batalov wrote: > > > On Mon, 18 Aug 2003 08:17:30 +0400 > > Grigory Batalov wrote: > > > > > > > А вот при доступе в INBOX > > запускается imapd и ждёт разрешения блокировки (?) > > /var/mail/bga > > от procmail. > > Аналогичная проблема c 2.4.20-alt9-up: /var на reiserfs, imapd у > пользователя засыпает в ожидании разрешения блокировки от > procmail. > > Но! Фишка в том, что проблема (race condition?) возникает ещё до > попытки забрать почту по imap, а точнее - > > # fuser -v /var/spool/mail/jinxed-user > > показывает два процесса procmail, каждый из которых после > таймаута пишет в /var/log/maillog: > > temporary failure. Command output: procmail: Terminating > prematurely whilst waiting for a kernel-lock > > А проблема с imapd - всего лишь самое очевидное последствие того, > что два procmail'a не отпускают /var/spool/mail/jinxed-user. > > На 2.4.20-alt7-up & 2.4.20-alt8-up описанной выше проблемы не > возникало, правда 2.4.20-alt8-up работало слишком мало (5,5 > суток), но 2.4.20-alt7-up - с 31 мая до выхода 2.4.20-alt8-up. > > На 2.4.20-alt9-up ситуация повторялась дважды за последние 5 > суток. В первый раз хватило fuser -k /var/spool/mail/jinxed-user; > во второй - пришлось делать reboot :-/ После третьего раза > придётся откатываться на 2.4.20-alt7-up, хотя лично меня такой > откат стремает... > > P.S. Получил первое наглядное доказательство небезосновательности > предубеждённости людей против reiserfs - как всегда не вовремя > ;-((( Как я и подозревал, ситуация воспроизвелась и на xfs: $ for ((i=0; i < 32; ++i)) do echo "Test $i" | mail -s "Test $i" vsu; done Пришло 23 письма, после чего наблюдается такая же картина: $ /usr/sbin/lsof /var/mail/vsu COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME procmail 2830 vsu 4w REG 3,6 10238 21251086 /var/spool/mail/vsu procmail 2831 vsu 4w REG 3,6 10238 21251086 /var/spool/mail/vsu $ strace -v -p 2830 fcntl64(4, F_SETLKW, ptrace: umoven: Input/output error {...} $ strace -v -p 2831 fcntl64(4, F_SETLKW, ptrace: umoven: Input/output error {...}