locking problems with 2.1.9
Peter Krotkov
pete at wookie.oit.umass.edu
Fri Nov 8 11:04:32 EST 2002
Our locking issues have revisited us. We are running cyrus 2.1.9 on
a Solaris 8 system using fcntl and skiplist (except flat for subscriptions).
Our MTA (pmdf) is unable to deliver mail to a local user via lmtp.
Except for this particular user cyrus is doing its thing just as
expected.
The stage. directory for this user's partition is as follows and
all files are related to delivery attempts to this user:
-rw------- 1 cyrus mail 3101 Nov 8 09:37 14279-1036766256
-rw------- 1 cyrus mail 21476 Nov 8 07:05 14521-1036757103
-rw------- 1 cyrus mail 21476 Nov 8 08:00 20731-1036760410
Following is the stack for the three processes listed above (as
reported by the Solaris pstack command):
14279: lmtpd -a
ff098958 fcntl (b, 7, ffbe9440)
ff092f00 s_fcntl (b, 7, 7, ffbe9440, b, 58d5c) + 1ec
00058d5c lock_reopen (b, ffbe9570, ffbe94e8, ffbe94e4, e393e, ffbe9470) + 4c
00035988 mailbox_lock_header (ffbeb658, 0, ffbeb658, 7efefeff, 81010100, ff0000) + cc
00032d34 append_setup (0, ffbea658, 0, 0, 0, 0) + 54
0002c284 deliver_mailbox (0, 1b7de8, c1d, 0, 0, 0) + 124
0002c7fc deliver (1b32d0, 0, 0, 0, ffffefcc, ffbecbe8) + 410
0002f6b0 lmtpmode (1841e0, 1a8530, 1a8588, 1a8e70, 1a3d78, e10d8) + d2c
0002ab8c service_main (2, ffbefd7c, ffbefd88, ff1f8000, 8, 2a5ac) + b8
0002a6f4 main (184000, ffbefd7c, ffbefd88, 2, e0c00, 0) + 618
00029c1c _start (0, 0, 0, 0, 0, 0) + 5c
20731: lmtpd -a
ff098958 fcntl (b, 7, ffbe9440)
ff092f00 s_fcntl (b, 7, 7, ffbe9440, b, 58d5c) + 1ec
00058d5c lock_reopen (b, ffbe9570, ffbe94e8, ffbe94e4, e393e, ffbe9470) + 4c
00035988 mailbox_lock_header (ffbeb658, 0, ffbeb658, 7efefeff, 81010100, ff0000) + cc
00032d34 append_setup (0, ffbea658, 0, 0, 0, 0) + 54
0002c284 deliver_mailbox (0, 1a8530, 53e4, 0, 0, 0) + 124
0002c7fc deliver (1b22c8, 0, 0, 0, ffffefcc, ffbecbe8) + 410
0002f6b0 lmtpmode (1841e0, 1c4b80, 1c4bd8, 1a93f0, 1a3d78, e10d8) + d2c
0002ab8c service_main (2, ffbefd7c, ffbefd88, 2, 0, 2a5ac) + b8
0002a6f4 main (184000, ffbefd7c, ffbefd88, 2, e0c00, 0) + 618
00029c1c _start (0, 0, 0, 0, 0, 0) + 5c
14521: lmtpd -a
ff098958 fcntl (b, 7, ffbe9440)
ff092f00 s_fcntl (b, 7, 7, ffbe9440, b, 58d5c) + 1ec
00058d5c lock_reopen (b, ffbe9570, ffbe94e8, ffbe94e4, e393e, ffbe9470) + 4c
00035988 mailbox_lock_header (ffbeb658, 0, ffbeb658, 7efefeff, 81010100, ff0000) + cc
00032d34 append_setup (0, ffbea658, 0, 0, 0, 0) + 54
0002c284 deliver_mailbox (0, 1c06a8, 53e4, 0, 0, 0) + 124
0002c7fc deliver (1b22c8, 0, 0, 0, ffffefcc, ffbecbe8) + 410
0002f6b0 lmtpmode (1841e0, 1c15e0, 1c1638, 1a8eb0, 1a3d78, e10d8) + d2c
0002ab8c service_main (2, ffbefd7c, ffbefd88, 2, 0, 2a5ac) + b8
0002a6f4 main (184000, ffbefd7c, ffbefd88, 2, e0c00, 0) + 618
00029c1c _start (0, 0, 0, 0, 0, 0) + 5c
There is one imapd (according to the cyrus proc/) for this user.
Over the course of several minutes of observation the stack
remains exactly the same:
11885: imapd -s
ff098958 fcntl (b, 7, ffbebc10)
ff092f00 s_fcntl (b, 7, 7, ffbebc10, b, 633d4) + 1ec
000633d4 lock_reopen (b, ffbebd40, ffbebcb8, ffbebcb4, ef566, 0) + 4c
00046444 mailbox_lock_header (1986cc, 1aa610, e, ffbeedbc, ff0bd194, ffbeed28) + cc
000479c0 mailbox_expunge (1986cc, 1, 0, 0, 0, ff09c648) + 1c
00032580 cmd_expunge (1bb8e0, 0, 1a17a8, 1bb950, 6e676500, 6e676500) + 54
0002c65c cmdloop (18c800, 198400, 0, 0, 0, 0) + b40
0002b8c4 service_main (0, ffbefd7c, ffbefd88, ff1f8000, 7, 2a1ec) + 290
0002a334 main (18c400, ffbefd7c, ffbefd88, 2, eb400, 0) + 618
0002985c _start (0, 0, 0, 0, 0, 0) + 5c
Following are processes reported as having the user's cyrus.* files
open:
# fuser cyrus.*
cyrus.cache: 11885om 22335om
cyrus.header: 14279om 11885om 9273om 20731om 14521om 22335om
cyrus.index: 11885om 22335om
cyrus.seen:
And following is pstack for all of the above except for 11885 (the imapd
already listed above) and 14279, 20731, 14521 (the ltmpd listed above):
22335: imapd -s
ff09b3bc read (0, 1c4bc8, 6f5)
0008e8c8 sock_read (0, 1c4bc8, 6f5, 8e8a0, 18edf8, 1) + 28
0008d670 BIO_read (1bd090, 1c4bc8, 6f5, 1c32a8, 1bccf0, 0) + d0
0007dec8 ssl3_read_n (5, 2010, 2010, 191b, 0, 0) + 148
0007e140 ssl3_get_record (1bb7e0, 1bccf0, 0, 0, 23138, ff0941d8) + 1e0
0007e8d4 ssl3_read_bytes (1bb7e0, 17, 1aa610, 1000, 0, 1bccf0) + 1d4
0007c6e8 ssl3_read (1bb7e0, 1aa610, 1000, 7c6a0, 19a1ac, 0) + 48
0006e730 SSL_read (1bb7e0, 1aa610, 1000, 1, ff0bd194, ffbec4b8) + 70
00060524 prot_fill (ffffffff, 0, 1000, 19cfb0, ffbec7b8, 1) + 340
00060d8c prot_read (0, ffbec7b8, 1000, 19cfb0, 1, ffbec7b8) + 6c
00050894 message_copy_strict (0, 19cfb0, 8008c, ffffeff8, 1a17a8, ff09c648) + 64
00044584 append_fromstream (ffbed830, 1a17a8, 9408c, 3cbce214, 1d0520, 1) + 14c
0002fcec cmd_append (0, 0, ffbee8f0, 18c400, a, 0) + 4c0
0002bf04 cmdloop (18c800, 198400, 0, 0, 0, 0) + 3e8
0002b8c4 service_main (0, ffbefd7c, ffbefd88, ff1f8000, 7, 2a1ec) + 290
0002a334 main (18c400, ffbefd7c, ffbefd88, 2, eb400, 0) + 618
0002985c _start (0, 0, 0, 0, 0, 0) + 5c
9273: lmtpd -a
ff098958 fcntl (b, 7, ffbe9440)
ff092f00 s_fcntl (b, 7, 7, ffbe9440, b, 58d5c) + 1ec
00058d5c lock_reopen (b, ffbe9570, ffbe94e8, ffbe94e4, e393e, ffbe9470) + 4c
00035988 mailbox_lock_header (ffbeb658, 0, ffbeb658, 7efefeff, 81010100, ff0000) + cc
00032d34 append_setup (0, ffbea658, 0, 0, 0, 0) + 54
0002c284 deliver_mailbox (0, 1ca620, 2893, 0, 0, 0) + 124
0002c7fc deliver (1b12c0, 0, 0, 0, ffffefcc, ffbecbe8) + 410
0002f6b0 lmtpmode (1841e0, 1b59d8, 1b5a30, 1d7380, 1a3d78, e10d8) + d2c
0002ab8c service_main (2, ffbefd7c, ffbefd88, 2, 0, 2a5ac) + b8
0002a6f4 main (184000, ffbefd7c, ffbefd88, 2, e0c00, 0) + 618
00029c1c _start (0, 0, 0, 0, 0, 0) + 5c
Cyrus is configured as follows:
./configure
--with-com_err
--prefix=/var/cyrus/local
--with-cyrus-prefix=/var/cyrus/local/cyrus
--with-cyrus-group=mail
--with-sasl=/var/cyrus/local
--with-openssl=/usr/local/ssl2
--without-ucdsnmp
--with-dbdir=/usr/local/BerkeleyDB.3.3
--with-libwrap=/usr/local
--with-duplicate-db=skiplist
--with-mboxlist-db=skiplist
--with-seen-db=skiplist
--with-subs-db=flat
--with-tls-db=skiplist
Any advice? (lsof is being installed now).
Thanks,
Pete
More information about the Info-cyrus
mailing list