[Dovecot] 1.0.rc23 released
Dan Price
dp at eng.sun.com
Wed Feb 21 03:24:24 UTC 2007
On Tue 20 Feb 2007 at 02:09PM, Timo Sirainen wrote:
> http://dovecot.org/releases/dovecot-1.0.rc23.tar.gz
> http://dovecot.org/releases/dovecot-1.0.rc23.tar.gz.sig
>
> Documentation is probably the only important thing left before v1.0.
>
I'm seeing dovecot-auth in a pretty tight poll loop on rc23, which I
have now deployed. It's not chewing up so much CPU that the machine
can't deal, so I'll leave it alone for now. It looks like this:
# truss -d -p 245083
....
0.3679 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.3686 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.3779 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.3786 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.3978 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.3982 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
0.4080 pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
...
[timestamps in column 1 are time elapsed since start of truss]
So what fd's are we polling?
# truss -v poll -p 245083
...
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
fd=5 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=0 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=3 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=7 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=8 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=9 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
timeout: 0.000000000 sec
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
fd=5 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=0 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=3 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=7 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=8 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=9 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
timeout: 0.009000000 sec
(timeout seems to oscillate back and forth between 0 and 0.009).
The pfiles output looks like:
245083: dovecot-auth
Current rlimit: 256 file descriptors
0: S_IFSOCK mode:0666 dev:321,0 ino:59624 uid:0 gid:0 size:0
O_RDWR
SOCK_STREAM
SO_SNDBUF(16384),SO_RCVBUF(5120)
sockname: AF_UNIX
1: S_IFCHR mode:0666 dev:314,0 ino:6815752 uid:0 gid:3 rdev:13,2
O_RDONLY|O_LARGEFILE
/devices/pseudo/mm at 0:null
2: S_IFIFO mode:0000 dev:322,0 ino:98020 uid:0 gid:0 size:0
O_RDWR
3: S_IFSOCK mode:0666 dev:321,0 ino:25491 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
SOCK_STREAM
SO_SNDBUF(16384),SO_RCVBUF(5120)
sockname: AF_UNIX /var/run/dovecot//login/default
4: S_IFCHR mode:0644 dev:314,0 ino:99614726 uid:0 gid:3 rdev:190,1
O_RDONLY|O_LARGEFILE FD_CLOEXEC
/devices/pseudo/random at 0:urandom
5: S_IFIFO mode:0000 dev:322,0 ino:98021 uid:0 gid:0 size:0
O_RDWR FD_CLOEXEC
6: S_IFIFO mode:0000 dev:322,0 ino:98021 uid:0 gid:0 size:0
O_RDWR FD_CLOEXEC
7: S_IFSOCK mode:0666 dev:321,0 ino:61121 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
SOCK_STREAM
SO_SNDBUF(16384),SO_RCVBUF(5120)
sockname: AF_UNIX /var/run/dovecot//login/default
peername: AF_UNIX
8: S_IFSOCK mode:0666 dev:321,0 ino:59618 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
SOCK_STREAM
SO_SNDBUF(16384),SO_RCVBUF(5120)
sockname: AF_UNIX /var/run/dovecot//login/default
peername: AF_UNIX
9: S_IFSOCK mode:0666 dev:321,0 ino:59629 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
SOCK_STREAM
SO_SNDBUF(16384),SO_RCVBUF(5120)
sockname: AF_UNIX /var/run/dovecot//login/default
peername: AF_UNIX
10: S_IFDOOR mode:0444 dev:324,0 ino:43 uid:0 gid:0 size:0
O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[162385]
/var/run/name_service_door
And the pstack is:
245083: dovecot-auth
ff148a8c pollsys (5cf90, 6, ffbffae8, 0)
ff0f5c5c poll (5cf90, 6, 9, 10624dd3, 22551, 895440) + 7c
00031fec io_loop_handler_run (5c758, 54670, 18, 5c7b0, 3d, 80000000) + 20
000319d8 io_loop_run (5c758, 3, 0, 1, bd524, 0) + 34
00023250 main (1, ffbffcac, 0, 53c00, 54400, 53c00) + 2b4
0001af18 _start (0, 0, 0, 0, 0, 0) + 5c
Config is:
jurassic # /usr/sos/sbin/dovecot -n
# /usr/sos/etc/dovecot.conf
base_dir: /var/run/dovecot/
log_path: /dev/stderr
info_log_path: /dev/stderr
protocols: imap
listen: *:150
ssl_disable: yes
disable_plaintext_auth: no
login_dir: /var/run/dovecot//login
login_executable: /usr/sos/libexec/dovecot/imap-login
mail_extra_groups: mail
mail_location: mbox:~:INBOX=/var/mail/%u:INDEX=%h/Mail/imapd-indices
mail_debug: yes
dotlock_use_excl: yes
mbox_read_locks: dotlock fcntl
mail_executable: /usr/sos/libexec/dovecot/rawlog /usr/sos/libexec/dovecot/imap
auth default:
mechanisms: plain gssapi
krb5_keytab: /etc/krb5/krb5.keytab
passdb:
driver: pam
userdb:
driver: passwd
When a user arrives, they get logged in OK, I think... the truss for that
looks like this:
read(9, " A U T H\t 1\t P L A I N".., 4072) = 94
pipe() = 11 [12]
forkx(0) = 246563
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
close(12) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 7, 0xFFBFFAE8, 0x00000000) = 1
read(11, "\0\0\001", 5120) = 4
close(11) = 0
write(9, " O K\t 1\t u s e r = d d".., 18) = 18
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 1
read(0, " R E Q U E S T\t 3 5\t 2".., 341) = 20
getuid() = 0 [0]
getuid() = 0 [0]
door_info(10, 0xFFBFF5E8) = 0
door_call(10, 0xFFBFF690) = 0
writev(0, 0xFFBFF810, 2) = 72
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 0
Received signal #18, SIGCLD, in pollsys() [caught]
siginfo: SIGCLD CLD_EXITED pid=246563 status=0x0000
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) Err#4 EINTR
lwp_sigmask(SIG_SETMASK, 0x00020000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
write(6, "12", 1) = 1
setcontext(0xFFBFF490)
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 1
read(5, "12", 512) = 1
waitid(P_ALL, 0, 0xFFBFF768, WEXITED|WTRAPPED|WNOHANG) = 0
waitid(P_ALL, 0, 0xFFBFF768, WEXITED|WTRAPPED|WNOHANG) Err#10 ECHILD
pollsys(0x0005CF90, 6, 0xFFBFFAE8, 0x00000000) = 1
read(9, 0x000642B6, 3978) = 0
close(9) = 0
As always, thanks,
-dp
--
Daniel Price - Solaris Kernel Engineering - dp at eng.sun.com - blogs.sun.com/dp
More information about the dovecot
mailing list