Mailing List Archive

graceful-stop closes established connections without response
good day all,
i previously posted this issue on the httpd-users mailing list
(https://marc.info/?l=apache-httpd-users&m=170569796512155&w=2) but
don't seem to be getting any traction, so i thought i'd seek guidance here.


during graceful-stop a small percentage of connections are established
but then reset without receiving any data from the server. for these
connections, the handshake is completed, the request is sent and ACK'ed,
but then the server sends an immediate [RST,ACK].

in addition to my previous testing, which mostly mirrored our production
configs, i have now setup a dedicated test environment with apache
2.4.57-2 (the latest available on debian bookworm) and only authn_core,
authz_core and mpm_event enabled, and serving a single static file, and
the behavior persists in this environment as well.

my rudimentary testing setup involves starting a series of curl loops in
parallel, then calling graceful-stop on the running server.

client:
~$ for i in {1..6}; do for j in {1..1000}; do curl ...; done; done

server:
~$ apache2ctl graceful-stop

the behavior can usually be observed for a handful of requests during
each test run. and from imspecting the strace and tcpdump output, in
_appears_ that the connection is being dropped between the time that the
connection is established by the parent apache process, but before one
of the child processes can accept() it. ie, for the ephemeral port that
is the source of the errant connection, there is no matching accept() in
any of the strace output.


the behavior observed seems to be similar to

https://bz.apache.org/bugzilla/show_bug.cgi?id=60309
https://bz.apache.org/bugzilla/show_bug.cgi?id=62014

but there doesn't seem to have been any progress made on either of those
reports.

i can provide strace and tcpdump files if necessary or perform any other
testing or configuration changes you might desire.

TIA

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