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). --
