At 3:24 PM -0800 11/8/01, Justin Ainsworth wrote:

>By unresponsive, I mean the pop3 server is not accepting any
>connections.  Below is the tracefile, from about 15 seconds before it
>had been non-responsive, until about 15 seconds after.
>
>The problem is intermitent.  I could be sitting at my desk and try to
>check mail, and I will get a connection refused.  But someone next to me
>will try at the exact same moment, and get a connection.

You're running in stand-alone mode, so a failure to respond to 
connections might be a problem in main.c.  In looking through the 
trace, process [28701] is the daemon.  Looking at its trace records, 
I don't see any obvious indications of a problem.  It's interesting 
that I don't see any calls on reaper(), so it looks like it never got 
any SIGCHLD signals during the trace period.  But that would explain 
a build-up of child or zombie processes, which isn't the problem 
you're having.  I do see a few places where there is a 3- or 4-second 
gap between connections, but since Qpopper is waiting on accept() I 
don't see how it could be causing any gaps.

Also, you're getting a connection refused, not simply a delay in the 
connection.  That's very odd.  I'm not sure what Qpopper could do to 
cause that, given that it's still running and servicing other 
requests.  Are you using

You can get this to happen with 4.0.4fc1 by putting it under load. 
Have you tried the same test with 4.0.3?

The odd thing here is that the code in main.c hasn't changed since 4.0.3.

Does a truss(1) or ktrace(1) on the daemon process show anything 
interesting?  (Probably best to set it to not follow children, to 
avoid getting too much data).


-- 

Reply via email to