You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2007/11/30 22:23:35 UTC

DO NOT REPLY [Bug 42580] - Timeout when restarting or stopping Apache

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42580>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42580





------- Additional Comments From pooleb@gmail.com  2007-11-30 13:23 -------
Hello,

I can also reproduce this error on my Solaris 10 servers with a recent build of
Apache 2.2.6. Whenever I run a graceful restart, I see the same apr_timeout
message in the log file. Perhaps more importantly, this SOMETIMES seems to be
leaving behind children processes that shouldn't still be running after a
graceful restart. Sometimes it leaves one child process, sometimes it leaves 5.

For example, on a completely idle server, here is a ps list after numerous
graceful restarts in a row:

$ ps -ef | grep http
webservd 19097 18781   0 16:10:01 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
    root 18781 12143   1 16:02:28 ?           0:04
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 18868 18781   0 16:03:53 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 19095 18781   0 16:10:01 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 19099 18781   0 16:10:01 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 19096 18781   0 16:10:01 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 19098 18781   0 16:10:01 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start
webservd 19072 18781   0 16:08:59 ?           0:00
/usr/local/apache-2.2.6/bin/httpd -k start

There were no client requests made to this daemon during this period as it is a
completely idle test box and yet there are consistently processes (19072, 18868
in this example) that are not exiting as I would expect them to. A truss of one
of the hung up processes is sticking in port_getn:

$ truss -p 18868
port_getn(19, 0x00224298, 2, 1, 0x00000000) (sleeping...)

The log file showing the restarts and errors in the log during this period is below:

[Fri Nov 30 16:02:27 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:02:27 2007] [notice] Digest: done
[Fri Nov 30 16:02:27 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:02:33 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:02:33 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:02:33 2007] [notice] Digest: done
[Fri Nov 30 16:02:33 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:02:58 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:02:58 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:02:59 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:02:59 2007] [notice] Digest: done
[Fri Nov 30 16:02:59 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:03:31 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:03:31 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:31 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:31 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:03:31 2007] [notice] Digest: done
[Fri Nov 30 16:03:31 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:03:34 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:03:34 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:34 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:34 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:34 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:03:34 2007] [notice] Digest: done
[Fri Nov 30 16:03:34 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:03:52 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:03:52 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:03:52 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:03:52 2007] [notice] Digest: done
[Fri Nov 30 16:03:52 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:04:02 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:04:02 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:04:02 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:04:02 2007] [notice] Digest: done
[Fri Nov 30 16:04:03 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:08:58 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:08:58 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:08:58 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:08:58 2007] [notice] Digest: done
[Fri Nov 30 16:08:58 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations
[Fri Nov 30 16:10:00 2007] [notice] Graceful restart requested, doing restart
[Fri Nov 30 16:10:00 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:10:00 2007] [error] (70007)The timeout specified has expired:
apr_pollset_poll: (listen)
[Fri Nov 30 16:10:00 2007] [notice] Digest: generating secret for digest
authentication ...
[Fri Nov 30 16:10:00 2007] [notice] Digest: done
[Fri Nov 30 16:10:00 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6
OpenSSL/0.9.8g configured -- resuming normal operations


Some info about my config.. Server is on Solaris 10/sparc recently patched with
the 10/31/2007 Recommended patch cluster. Following modules are loaded:
core_module (static), mpm_prefork_module (static), http_module (static),
so_module (static), alias_module (shared), authn_default_module (shared),
authn_file_module (shared), authz_default_module (shared), authz_host_module
(shared), auth_basic_module (shared), auth_digest_module (shared),
deflate_module (shared), dir_module (shared), dumpio_module (shared),
headers_module (shared), include_module (shared), log_config_module (shared),
logio_module (shared), mime_module (shared), proxy_module (shared),
proxy_ajp_module (shared), proxy_balancer_module (shared), proxy_http_module
(shared), rewrite_module (shared), setenvif_module (shared), ssl_module
(shared), vhost_alias_module (shared)

/usr/local/apache-2.2.6/bin/httpd -V
Server version: Apache/2.2.6 (Unix)
Server built:   Nov 27 2007 18:40:30
Server's Module Magic Number: 20051115:5
Server loaded:  APR 1.2.11, APR-Util 1.2.10
Compiled using: APR 1.2.11, APR-Util 1.2.10
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr/local/apache-2.2.6"
 -D SUEXEC_BIN="/usr/local/apache-2.2.6/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Happy to assist with debugging this but I'm not sure what needs to be looked at
and don't really have the time to go spelunking into it all by my lonesome.
Anyone care to assist?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org