Hi list,

We just had a sudden pike of activity on our mail server. The result is that 
pop3d simply stopped working. Pop3d processes are just getting spawned, but 
they do nothing.  If i telnet to port 110 the connection gets established, 
but i dont get the greeting from cyrus. Imapd works ok as ever.

I managed to strace a pop3d just after it started, and it stopped on:
...
open("/data/cyrus/config/proc/27611", O_RDWR|O_CREAT|O_TRUNC, 0666) = 13
fstat64(0xd, 0xbffff544)                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40dec000
_llseek(13, 0, [0], SEEK_SET)           = 0
write(13, "pop.user's.domain[his.ip"..., 40) = 40
_llseek(13, 0, [40], SEEK_CUR)          = 0
ftruncate(13, 40)                       = 0
open("/dev/random", O_RDONLY)           = 15
read(15,

where it sits still. 

This is cyrus-2.0.17cvs from around dec 15., running on redhat 6.2 with 
2.4.17 kernel.

Now afaik /dev/random is blocking if it's out of entropy, while /dev/urandom 
is not. Is there a reason why using /dev/random at all? I see frequent 
slowdowns in response time of pop3 and this could well be the reason.

I can't find any reference to /dev/random in cyrus ... so where can i look 
for code that calls it? I'd like to find out why it is not /dev/urandom ...

Ah, it's probably in sasl. True, config.h ... Is there a reason not to use 
/dev/urandom there? Any side effects if i change that and recompile?

--

Jure Pecar

Reply via email to