An Apache/2.4.56 (Unix) server using "event" MPM sometimes does not clean up an
idle old gen worker after "apachectl graceful". The old gen worker continues to
take requests. The syslog contains AH00646 errors thrown when the old gen worker
handles a request and attempts to record the transfer on a closed pipe.

I cannot reproduce "at will", but the problem does reappear frequently.

Normally, "apachectl graceful" is executed by the daily "dehydrated" ACME client
"deploy_cert" hook, which is called when a new certificate is produced. If
multiple certificates age out on the same day, this can result in as many
rapid-fire back-to-back "apachectl graceful" calls as there are certificates to
regen. Manually running "dehydrated -c -x" (force-regen all certificates at
once) sometimes recreates the problem, but not always.

Once the condition is present, the first "apachectl stop" stops new gen worker
but not old gen worker, and the second "apachectl stop" reports the PID file is
gone and does nothing. To bring completely down, one can "pkill httpd", or the
moral equivalent.

This is a light-duty personal server. Traffic is very light -- 500 requests per
hour, mostly static with a bit of PHP. server_status generally shows all
scoreboard slots either open (.) or waiting for connection (_), except the
server_status request itself (W).

When server_status is handled by the new gen worker, the old gen worker is shown
as "Stopping: no (old gen)". And (strangely to me), when server_status is
handled by the old gen worker, the new gen worker is shown as "Stopping: no (old
gen)".

I see other people have reported similar problems in the past. All seem to point
to a bug tracked as Bugzilla 63169 and fixed in 2.4.49. This server is at
2.4.56. It is Slackware 15.0's stock httpd.

Loaded Modules
core.c, event.c, http_core.c, mod_alias.c, mod_authz_core.c, mod_authz_host.c,
mod_autoindex.c, mod_cgid.c, mod_dir.c, mod_headers.c, mod_info.c,
mod_log_config.c, mod_mime.c, mod_negotiation.c, mod_php7.c, mod_reqtimeout.c,
mod_so.c, mod_socache_shmcb.c, mod_ssl.c, mod_status.c, mod_unixd.c

Configuration of event.c is:
Listen 80
Listen 443
MaxRequestWorkers 25

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to