Bug 65196 - All child processes are temporarily terminated.
Summary: All child processes are temporarily terminated.
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mpm_worker (show other bugs)
Version: 2.4.46
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-19 05:39 UTC by Hironori Motoda
Modified: 2021-04-28 13:38 UTC (History)
1 user (show)



Attachments
httpd.conf, errorlog, and pstree execution results (8.89 KB, application/x-zip-compressed)
2021-04-19 04:38 UTC, Hironori Motoda
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hironori Motoda 2021-03-19 05:39:18 UTC
In the following environment where multiple Listen directives are defined, 6 requests are received at the same time, and after HTTP request processing is completed, all child processes are temporarily terminated. ThreadsPerChild is set to 1 for ease of explanation.

httpd.conf:
----------------------------------------------
Listen 80
Listen 8080

ServerLimit             50
StartServers             5
MinSpareThreads          5
MaxSpareThreads         10
ThreadsPerChild          1
MaxRequestWorkers       50
MaxConnectionsPerChild   0
----------------------------------------------

The process status is shown in the output of the following command.
# pstree -p `cat /opt/apache24/logs/httpd.pid`

Isn't it a bug that all child processes are temporarily terminated in (3)?
We have confirmed that the listener thread does not terminate immediately in the termination process of the child process.
If it's not a bug, please tell me why.

(1) It is in the state where httpd is started.
----------------------------------------------
Tue Mar 16 13:38:09 JST 2021
httpd(4035)-+-httpd(4036)-+-{httpd}(4046)
            |             `-{httpd}(4047)
            |-httpd(4037)-+-{httpd}(4048)
            |             `-{httpd}(4049)
            |-httpd(4038)-+-{httpd}(4050)
            |             `-{httpd}(4051)
            |-httpd(4039)-+-{httpd}(4052)
            |             `-{httpd}(4053)
            `-httpd(4040)-+-{httpd}(4054)
                          `-{httpd}(4055)
----------------------------------------------

(2) 6 requests are being processed.
----------------------------------------------
Tue Mar 16 13:38:26 JST 2021
httpd(4035)-+-httpd(4036)-+-{httpd}(4046)
            |             `-{httpd}(4047)
            |-httpd(4037)-+-{httpd}(4048)
            |             `-{httpd}(4049)
            |-httpd(4038)-+-{httpd}(4050)
            |             `-{httpd}(4051)
            |-httpd(4039)-+-{httpd}(4052)
            |             `-{httpd}(4053)
            |-httpd(4040)-+-{httpd}(4054)
            |             `-{httpd}(4055)
            |-httpd(4101)-+-{httpd}(4103)
            |             `-{httpd}(4104)
            |-httpd(4109)-+-{httpd}(4113)
            |             `-{httpd}(4114)
            |-httpd(4110)-+-{httpd}(4115)
            |             `-{httpd}(4116)
            |-httpd(4121)-+-{httpd}(4133)
            |             `-{httpd}(4134)
            |-httpd(4122)-+-{httpd}(4135)
            |             `-{httpd}(4136)
            |-httpd(4123)-+-{httpd}(4129)
            |             `-{httpd}(4130)
            `-httpd(4124)-+-{httpd}(4131)
                          `-{httpd}(4132)
----------------------------------------------

(3) The following is the state transition after the request processing is completed.
----------------------------------------------
Tue Mar 16 13:38:38 JST 2021
httpd(4035)-+-httpd(4036)
            |-httpd(4037)
            |-httpd(4038)
            |-httpd(4039)
            |-httpd(4040)
            |-httpd(4101)
            |-httpd(4110)
            |-httpd(4121)
            |-httpd(4122)
            |-httpd(4123)
            `-httpd(4124)
----------------------------------------------
Tue Mar 16 13:38:39 JST 2021
httpd(4035)---httpd(4213)-+-{httpd}(4215)
                          `-{httpd}(4216)
----------------------------------------------
Tue Mar 16 13:38:40 JST 2021
httpd(4035)-+-httpd(4213)-+-{httpd}(4215)
            |             `-{httpd}(4216)
            |-httpd(4221)-+-{httpd}(4225)
            |             `-{httpd}(4226)
            `-httpd(4222)-+-{httpd}(4227)
                          `-{httpd}(4228)
----------------------------------------------
Tue Mar 16 13:38:41 JST 2021
httpd(4035)-+-httpd(4213)-+-{httpd}(4215)
            |             `-{httpd}(4216)
            |-httpd(4221)-+-{httpd}(4225)
            |             `-{httpd}(4226)
            |-httpd(4222)-+-{httpd}(4227)
            |             `-{httpd}(4228)
            |-httpd(4233)-+-{httpd}(4245)
            |             `-{httpd}(4246)
            |-httpd(4234)-+-{httpd}(4247)
            |             `-{httpd}(4248)
            |-httpd(4235)-+-{httpd}(4241)
            |             `-{httpd}(4242)
            `-httpd(4236)-+-{httpd}(4243)
                          `-{httpd}(4244)
----------------------------------------------
Comment 1 Hironori Motoda 2021-04-16 04:54:50 UTC
Hello,
Has anyone been assigned for this bug report?
Comment 2 Eric Covener 2021-04-16 10:55:09 UTC
(In reply to Hironori Motoda from comment #1)
> Hello,
> Has anyone been assigned for this bug report?

This is a volunteer project.  Maybe if you post your full httpd.conf, apachectl -V and errorlog w/ loglevel trace8 someone will be able to respond.
Comment 3 Hironori Motoda 2021-04-19 04:38:11 UTC
Created attachment 37816 [details]
httpd.conf, errorlog, and pstree execution results

> This is a volunteer project.  Maybe if you post your full httpd.conf, apachectl
> -V and errorlog w/ loglevel trace8 someone will be able to respond.

Attach httpd.conf, errorlog, and pstree execution results.
The result of apachectl -V is as follows.
----
# /opt/apache24/bin/apachectl -V
Server version: Apache/2.4.46 (Unix)
Server built:   Apr 19 2021 10:44:43
Server's Module Magic Number: 20120211:93
Server loaded:  APR 1.7.0, APR-UTIL 1.6.1
Compiled using: APR 1.7.0, APR-UTIL 1.6.1
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_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=256
 -D HTTPD_ROOT="/opt/apache24"
 -D SUEXEC_BIN="/opt/apache24/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
Comment 4 Hironori Motoda 2021-04-28 05:06:48 UTC
Hello,
I have attached the requested information as a zip file, so please reply.