[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#894827: apache2: Apache workers are hanging after reload



Package: apache2
Version: 2.4.10-10+deb8u12
Severity: normal

Dear Maintainer,

I am finding some Apache processes stuck in a gracefully finishing state after an Apache reload. The only way to clear these processes down is to restart Apache or killing the individual processes.
The way these processes are being left the stuck thread 100% CPU and eventually crashing the server. 
I have seen these hung processes stay running for over 12 hours before I manually kill them. 

This seems to only be when the reload catches a large request to my website. Unfortunately I have been unsuccessful to replicate this issue anywhere outside of my production environment.

We are using Apache to process PHP behind a NGINX proxy.

-- Package-specific info:

-- System Information:
Debian Release: 8.10
  APT prefers oldstable
  APT policy: (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages apache2 depends on:
ii  apache2-bin    2.4.10-10+deb8u12
ii  apache2-data   2.4.10-10+deb8u12
ii  apache2-utils  2.4.10-10+deb8u12
ii  dpkg           1.17.27
ii  lsb-base       4.1+Debian13+nmu1
ii  mime-support   3.58
ii  perl           5.20.2-3+deb8u9
ii  procps         2:3.3.9-9

Versions of packages apache2 recommends:
ii  ssl-cert  1.0.35

Versions of packages apache2 suggests:
pn  apache2-doc                                      <none>
pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
ii  w3m [www-browser]                                0.5.3-19+deb8u2

Versions of packages apache2-bin depends on:
ii  libapr1                  1.5.1-3
ii  libaprutil1              1.5.4-1
ii  libaprutil1-dbd-sqlite3  1.5.4-1
ii  libaprutil1-ldap         1.5.4-1
ii  libc6                    2.19-18+deb8u10
ii  libldap-2.4-2            2.4.40+dfsg-1+deb8u3
ii  liblua5.1-0              5.1.5-7.1
ii  libpcre3                 2:8.35-3.3+deb8u4
ii  libssl1.0.0              1.0.1t-1+deb8u8
ii  libxml2                  2.9.1+dfsg1-5+deb8u6
ii  perl                     5.20.2-3+deb8u9
ii  zlib1g                   1:1.2.8.dfsg-2+b1

Versions of packages apache2-bin suggests:
pn  apache2-doc                                      <none>
pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
ii  w3m [www-browser]                                0.5.3-19+deb8u2

Versions of packages apache2 is related to:
ii  apache2      2.4.10-10+deb8u12
ii  apache2-bin  2.4.10-10+deb8u12

-- Configuration Files:
/etc/apache2/mods-available/mpm_prefork.conf changed:
<IfModule mpm_prefork_module>
	StartServers			 5
	MinSpareServers		  5
	MaxSpareServers		 10
        MaxRequestWorkers         110
        MaxConnectionsPerChild   30000
	GracefulShutdownTimeout 60
</IfModule>

/etc/apache2/mods-available/mpm_worker.conf changed:
<IfModule mpm_worker_module>
	StartServers			 2
	MinSpareThreads		 25
	MaxSpareThreads		 75
	ThreadLimit			 64
	ThreadsPerChild		 25
	MaxRequestWorkers	  300
	MaxConnectionsPerChild   0
</IfModule>

/etc/apache2/mods-available/status.conf changed:
<IfModule mod_status.c>
	# Allow server status reports generated by mod_status,
	# with the URL of http://servername/server-status
	# Uncomment and change the "192.0.2.0/24" to allow access from other hosts.
	<Location /server-status>
		SetHandler server-status
		Require local
		#Require ip 192.0.2.0/24
	</Location>
	# Keep track of extended status information for each request
	ExtendedStatus On
	# Determine if mod_status displays the first 63 characters of a request or
	# the last 63, assuming the request itself is greater than 63 chars.
	# Default: Off
	#SeeRequestTail On
	SeeRequestTail On
	<IfModule mod_proxy.c>
		# Show Proxy LoadBalancer status in mod_status
		ProxyStatus On
	</IfModule>
</IfModule>

/etc/apache2/ports.conf changed:
NameVirtualHost *:81
Listen 81


-- no debconf information


Reply to: