https://issues.apache.org/bugzilla/show_bug.cgi?id=47645
Jeff Trawick <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW --- Comment #5 from Jeff Trawick <[email protected]> 2009-08-06 05:39:11 PDT --- This pid is supposed to wake up for the next client connection: * pstack PID : fefcb904 portfs (6, 8, 1ed548, 2, 1, ffbffa80) ff21a994 apr_pollset_poll (1ed508, 0, 989680, ffbffaf8, ffbffaf4, 11177) + 12c 0006a218 child_main (18, 989400, 9a400, 1f34d0, 1, 9c400) + 378 >From the truss I guess it is waking up every 10 seconds or so (whatever the prefork timeout is), but never finding a new connection. I don't know exactly what is causing the problem. I had a similar situation with the event MPM once and this same implementation of apr_pollset_poll(), but I didn't have time to debug or to narrow it down to one of {Event MPM, APR, Solaris kernel}. You will likely be able to work around the problem by selecting a different poll implementation. It should be as easy as $ make distclean $ export ac_cv_func_port_create=no $ ./configure [normal configure options] (Does that look right to others following the bug list?) >From another standpoint: >In this state, neither any answer packets were generated (tested with network >sniffer) nor any log lines written. The TCP layer should answer a SYN packet. Did that happen? What does netstat show at the time of the hang? If connections are able to reach the ESTABLISHED state but not responded to, then TCP is doing the right thing and httpd isn't finding the connection. If none reach the ESTABLISHED state, then it is a TCP layer issue. What changed in 2.2.12? The Solaris port code changed in APR, but it doesn't look dangerous: + { + int flags; + + if ((flags = fcntl((*pollset)->port_fd, F_GETFD)) == -1) + return errno; + + flags |= FD_CLOEXEC; + if (fcntl((*pollset)->port_fd, F_SETFD, flags) == -1) + return errno; + } -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
