I was digging through some of the archives and ran into someone who was
having the same problem, but for completely different reasons....i think.
dovecot: Nov 02 07:58:51 Info: Dovecot starting up
dovecot: Nov 02 07:58:52 Error: Auth process died too early - shutting down
dovecot: Nov 02 07:58:52 Error: child 27673 (login) killed with signal 11
dovecot: Nov 02 07:58:52 Error: child 27672 (login) killed with signal 11
dovecot: Nov 02 07:58:52 Error: child 27671 (login) killed with signal 11
dovecot: Nov 02 07:58:52 Error: child 27670 (auth) killed with signal 11
So I took the advice posted and ran 'strace dovecot' and this is what I
got. Unfortunately I'm not exactly good enough with this to even know
what I'm looking at.
But I suspect the notation about "/dev/null" might have something to
do
with it.
my user, dovecot as a shell of /bin/bash and a $HOME of
/usr/local/lib/dovecot
By all rights, he's almost a regular user, except that his UID is <100
(I built user:dovecot as a system uid under SuSE 8.2)
open("/var/run/dovecot/", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
close(3) = 0
lstat64("/var/run/dovecot/", {st_mode=S_IFDIR|0700, st_size=4096,
...}) = 0
open(".", O_RDONLY|O_LARGEFILE) = 3
open("/var/run/dovecot//login", O_RDONLY|O_LARGEFILE|O_NOFOLLOW) = 4
fchdir(4) = 0
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a
directory)
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
fstat64(6, {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
brk(0) = 0x8061000
brk(0x8062000) = 0x8062000
getdents64(6, /* 2 entries */, 4096) = 48
getdents64(6, /* 0 entries */, 4096) = 0
close(4) = 0
close(6) = 0
fchdir(3) = 0
close(3) = 0
geteuid32() = 0
lstat64("/var/run/dovecot//login", {st_mode=S_IFDIR|0750,
st_size=4096,
...}) = 0
open("/var/run/dovecot//login", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
close(3) = 0
lstat64("/var/run/dovecot//login", {st_mode=S_IFDIR|0750,
st_size=4096,
...}) = 0
access("/usr/local/libexec/dovecot/dovecot-auth", X_OK) = 0
open("/dev/null", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
dup(3) = 4
fcntl64(4, F_GETFD) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6
setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(6, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
bind(6, {sa_family=AF_INET, sin_port=htons(143),
sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getsockname(6, {sa_family=AF_INET, sin_port=htons(143),
sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
listen(6, 8) = 0
fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl64(6, F_GETFD) = 0
fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
dup(4) = 7
fcntl64(7, F_GETFD) = 0
fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
dup(4) = 8
fcntl64(8, F_GETFD) = 0
fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
dup(4) = 9
fcntl64(9, F_GETFD) = 0
fcntl64(9, F_SETFD, FD_CLOEXEC) = 0
dup2(4, 0) = 0
dup2(4, 1) = 1
dup2(4, 2) = 2
fork() = 27706
exit_group(0) = ?