Hello again, 

I might have more informations about the matter. I modified dovecot's
configuration file so that when calling imap-login it will call it
through strace.

From what I could understand (I'm not really confident with that output
yet ;-)), it seems that epoll_ctl are not blocked as one could occur
before the failing one. 

I attached a text file with the strace output as copying it in an email would 
be awful to read with the 80 characters limit.

Hope this help better understand the problem.
Thanks !



Le mardi 24 mars 2009 à 18:11, Jérôme Blanc <[email protected]> a
écrit :

> Hello, 
> 
> I'm trying to investigate the matter with the few informations I could
> get so far.
> 
> I tried making the security level at the lowest possible with no
> better luck. I also tried another kernel in case. 
> 
> Is there any way I can know which files it tries to poll ? It could
> help me investigate.
> 
> Thanks ! 
> 
> 
> Le mardi 10 mars 2009 à 15:08, Timo Sirainen <[email protected]> a
> écrit :
> 
> > On Tue, 2009-03-10 at 20:06 +0100, Jérôme Blanc wrote:
> > > Mar 10 20:00:48 aries dovecot: Fatal: imap-login:
> > > io_loop_handle_add: epoll_ctl(1, 4): Operation not permitted
> > 
> > Do you have SELinux or AppArmor or something similar enabled, which
> > denies this syscall?
> > 
> 
> 


-- 
Jérôme Blanc
OpenPGP : 1024D/F44DB96C
execve("/usr/lib/dovecot/imap-login", ["/usr/lib/dovecot/imap-login"], [/* 22 
vars */]) = 0
brk(0)                                  = 0x862e000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=23932, ...}) = 0
mmap2(NULL, 23932, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7f4f000
close(4)                                = 0
open("/usr/lib/libssl.so.0.9.8", O_RDONLY) = 4
read(4, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\264\0\0004\0\0\0"..., 512) 
= 512
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f4e000
fstat64(4, {st_mode=S_IFREG|0755, st_size=310196, ...}) = 0
mmap2(NULL, 313144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0xb7f01000
mmap2(0xb7f4a000, 16384, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x48) = 0xb7f4a000
close(4)                                = 0
open("/usr/lib/libcrypto.so.0.9.8", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200x\3\0004\0\0\0"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=1589292, ...}) = 0
mmap2(NULL, 1605304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0xb7d79000
mmap2(0xb7ee9000, 86016, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16f) = 0xb7ee9000
mmap2(0xb7efe000, 11960, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7efe000
close(4)                                = 0
open("/lib/i686/libc.so.6", O_RDONLY)   = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 g\1\0004\0\0\0"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=1360240, ...}) = 0
mmap2(NULL, 1365584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0xb7c2b000
mmap2(0xb7d73000, 12288, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x148) = 0xb7d73000
mmap2(0xb7d76000, 9808, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7d76000
close(4)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \n\0\0004\0\0\0"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=9680, ...}) = 0
mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0xb7c27000
mmap2(0xb7c29000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1) = 0xb7c29000
close(4)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7c26000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7c268d0, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, 
useable:1}) = 0
mprotect(0xb7c29000, 4096, PROT_READ)   = 0
mprotect(0xb7d73000, 8192, PROT_READ)   = 0
mprotect(0xb7f6f000, 4096, PROT_READ)   = 0
munmap(0xb7f4f000, 23932)               = 0
time(NULL)                              = 1237918547
brk(0)                                  = 0x862e000
brk(0x8657000)                          = 0x8657000
uname({sys="Linux", node="Aries", ...}) = 0
getpid()                                = 4035
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 4
read(4, "\335\304\35\315", 4)           = 4
fcntl64(4, F_GETFD)                     = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 6
fstat64(6, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 10) = 1
read(6, 
"\3\223\315\264\352g\222##\243\361t\237\221\375s\\\266^\376\355\353\200\274b\321\257o`>w\25",
 32) = 32
close(6)                                = 0
getuid32()                              = 0
time(NULL)                              = 1237918547
open("/etc/pki/tls/certs/dovecot.pem", O_RDONLY|O_LARGEFILE) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=798, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f54000
read(6, "-----BEGIN CERTIFICATE-----\nMIIC"..., 4096) = 798
read(6, "", 4096)                       = 0
close(6)
munmap(0xb7f54000, 4096)                = 0
open("/etc/pki/tls/private/dovecot.pem", O_RDONLY|O_LARGEFILE) = 6
fstat64(6, {st_mode=S_IFREG|0600, st_size=887, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f54000
read(6, "-----BEGIN RSA PRIVATE KEY-----\n"..., 4096) = 887
close(6)                                = 0
munmap(0xb7f54000, 4096)                = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=23, rlim_max=23}) = 0
geteuid32()                             = 0
getgid32()                              = 0
setgid32(107)                           = 0
setgroups32(1, [107])                   = 0
open("/etc/localtime", O_RDONLY)        = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0
fstat64(6, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f54000
read(6, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0\0\0"..., 4096) 
= 2945
_llseek(6, -28, [2917], SEEK_CUR)       = 0
read(6, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28
close(6)                                = 0
munmap(0xb7f54000, 4096)                = 0
chroot("/var/run/dovecot/login")        = 0
chdir("/")                              = 0
setuid32(80)                            = 0
setuid32(0)                             = -1 EPERM (Operation not permitted)
getgid32()                              = 107
getegid32()                             = 107
setgid32(0)                             = -1 EPERM (Operation not permitted)
setrlimit(RLIMIT_NPROC, {rlim_cur=1, rlim_max=1}) = 0
gettimeofday({1237918547, 498059}, {4294967236, 0}) = 0
rt_sigaction(SIGINT, {0x805cef0, []NULL, 8) = 0
pipe([6, 7])                            = 0
fcntl64(6, F_GETFD)                     = 0
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
fcntl64(7, F_GETFD)                     = 0
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
epoll_create(128)                       = 8
fcntl64(8, F_GETFD)                     = 0
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
epoll_ctl(8, EPOLL_CTL_ADD, 6, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, 
{u32=144402752, u64=144402752}}) = 0
rt_sigaction(SIGTERM, {0x805cef0, [], 0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x80000) = 9
fstat64(9, {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
fcntl64(9, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
getdents64(9, /* 4 entries */, 4096)    = 120
stat64("ssl-parameters.dat", {st_mode=S_IFREG|0644, st_size=230, ...}) = 0
stat64("default", {st_mode=S_IFSOCK|0660, st_size=0, ...}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 10
fcntl64(10, F_GETFL)                    = 0x2 (flags O_RDWR)
fcntl64(10, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(10, {sa_family=AF_FILE, path="default"}, 110) = 0
epoll_ctl(8, EPOLL_CTL_ADD, 10, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, 
{u32=144408280, u64=144408280}}) = 0
fstat64(10, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
_llseek(10, 0, 0xbf9b7b50, SEEK_CUR)    = -1 ESPIPE (Illegal seek)
getsockname(10, {sa_family=AF_FILE, pa...@}, [2]) = 0
write(10, "VERSION\t1\t0\nCPID\t4032\n", 22) = 22
getdents64(9, /* 0 entries */, 4096)    = 0
close(9)                                = 0
epoll_ctl(8, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, 
{u32=144404480, u64=144404480}}) = 0
epoll_ctl(8, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, 
{u32=144404608, u64=144404608}}) = -1 EPERM (Operation not permitted)
write(2, "\1Fio_loop_handle_add: epoll_ctl("..., 63) = 63
exit_group(89)                          = ?

Attachment: signature.asc
Description: PGP signature

Reply via email to