Activity log for bug #1028470

Date Who What changed Old value New value Message
2012-07-24 14:32:28 Evgeny Anisiforov bug added bug
2012-07-24 14:34:10 Evgeny Anisiforov description Apache2 stops accepting connections when using mod_ssl and having more than 1000 processes running. This is only happening on ubuntu 12.04 and only with mod_ssl enabled. Steps to reproduce: - take a clean install of ubuntu 12.04 server 64bit (i use english installer and all standard settings) - execute following commands as root: apt-get update apt-get upgrade apt-get install apache2-mpm-prefork - change /etc/apache2/apache2.conf to start at least 1001 processes: <IfModule mpm_prefork_module> ServerLimit 1500 StartServers 1500 MinSpareServers 1400 MaxSpareServers 1500 MaxClients 1500 MaxRequestsPerChild 1200 </IfModule> - enable mod_ssl and restart apache: a2enmod ssl service apache2 restart [no further configuration changes requred, i did not configure any ssl hosts, only enabled the module] - verify, that apache is running at least 1001 processes $ ps ax | grep apache | wc -l 1502 - verify you can connect to localhost: $ curl http://localhost/ <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html> - start high load: $ ab -n 5000 -c 1000 http://localhost/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 500 requests apr_poll: The timeout specified has expired (70007) Total of 998 requests completed - ready, now apache is not working properly: $ curl -v http://localhost/ * About to connect() to localhost port 80 (#0) * Trying 127.0.0.1... connected > GET / HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost > Accept: */* > ..... silence There are no errors to find in the logs. After restarting apache it will work for some time, but continue crashing regurally, if you have some traffic coming to the server. In my tests i sometimes had crashes even with very few users connecting to the servers. For greater reproducibility however you will need this high connections number for ab. This is reproducible, happening every time and i also tested this on 3 different machines. This is specific to 12.04, as i have the same setup working properly on 11.10. I'm aware of that 1000 Processes will consume a plenty of ram. The machine that is supposed to run this config has 32GB, so this should not be the problem here. Notice: - apache crashed only with mod_ssl enabled - apache crashed only with >1000 processes: 1000 processes runs fine, 1001 will produce a crash Additional information: 1) The release of Ubuntu you are using $ lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 2) The version of the package you are using $ apt-cache policy apache2-mpm-prefork apache2-mpm-prefork: Installed: 2.2.22-1ubuntu1 Candidate: 2.2.22-1ubuntu1 Version table: *** 2.2.22-1ubuntu1 0 500 http://de.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages 100 /var/lib/dpkg/status 3) What you expected to happen i expect apache to handle the 5000 requests as usual and continue accepting connections afterwards 4) What happened instead apache handles only 1000 requests and stops accepting new connections at all, which is a disaster for any website running on the host Apache2 stops accepting connections when using mod_ssl and having more than 1000 processes running. This is only happening on ubuntu 12.04 and only with mod_ssl enabled. Steps to reproduce: - take a clean install of ubuntu 12.04 server 64bit (i use english installer and all standard settings) - execute following commands as root: $ apt-get update $ apt-get upgrade $ apt-get install apache2-mpm-prefork - change /etc/apache2/apache2.conf to start at least 1001 processes: <IfModule mpm_prefork_module>     ServerLimit 1500     StartServers 1500     MinSpareServers 1400     MaxSpareServers 1500     MaxClients 1500     MaxRequestsPerChild 1200 </IfModule> - enable mod_ssl and restart apache: $ a2enmod ssl $ service apache2 restart [no further configuration changes requred, i did not configure any ssl hosts, only enabled the module] - verify, that apache is running at least 1001 processes $ ps ax | grep apache | wc -l 1502 - verify you can connect to localhost: $ curl http://localhost/ <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html> - start high load: $ ab -n 5000 -c 1000 http://localhost/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 500 requests apr_poll: The timeout specified has expired (70007) Total of 998 requests completed - ready, now apache is not working properly: $ curl -v http://localhost/ * About to connect() to localhost port 80 (#0) * Trying 127.0.0.1... connected > GET / HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost > Accept: */* > ..... silence There are no errors to find in the logs. After restarting apache it will work for some time, but continue crashing regurally, if you have some traffic coming to the server. In my tests i sometimes had crashes even with very few users connecting to the servers. For greater reproducibility however you will need this high connections number for ab. This is reproducible, happening every time and i also tested this on 3 different machines. This is specific to 12.04, as i have the same setup working properly on 11.10. I'm aware of that 1000 Processes will consume a plenty of ram. The machine that is supposed to run this config has 32GB, so this should not be the problem here. Notice:  - apache crashed only with mod_ssl enabled  - apache crashed only with >1000 processes: 1000 processes runs fine, 1001 will produce a crash Additional information: 1) The release of Ubuntu you are using $ lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 2) The version of the package you are using $ apt-cache policy apache2-mpm-prefork apache2-mpm-prefork:   Installed: 2.2.22-1ubuntu1   Candidate: 2.2.22-1ubuntu1   Version table:  *** 2.2.22-1ubuntu1 0         500 http://de.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages         100 /var/lib/dpkg/status 3) What you expected to happen i expect apache to handle the 5000 requests as usual and continue accepting connections afterwards 4) What happened instead apache handles only 1000 requests and stops accepting new connections at all, which is a disaster for any website running on the host
2012-07-25 20:29:20 Clint Byrum apache2 (Ubuntu): status New Confirmed
2012-07-25 20:29:26 Clint Byrum apache2 (Ubuntu): importance Undecided Medium
2012-07-25 20:57:46 Clint Byrum tags apache2 connection crash oneiric processes serverlimit ssl apache2 connection crash oneiric precise processes serverlimit ssl
2012-07-25 20:57:56 Clint Byrum bug added subscriber Clint Byrum
2012-07-27 19:09:58 Evgeny Anisiforov attachment added dump.cap https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1028470/+attachment/3238977/+files/dump.cap
2013-01-27 11:34:53 Evgeny Anisiforov description Apache2 stops accepting connections when using mod_ssl and having more than 1000 processes running. This is only happening on ubuntu 12.04 and only with mod_ssl enabled. Steps to reproduce: - take a clean install of ubuntu 12.04 server 64bit (i use english installer and all standard settings) - execute following commands as root: $ apt-get update $ apt-get upgrade $ apt-get install apache2-mpm-prefork - change /etc/apache2/apache2.conf to start at least 1001 processes: <IfModule mpm_prefork_module>     ServerLimit 1500     StartServers 1500     MinSpareServers 1400     MaxSpareServers 1500     MaxClients 1500     MaxRequestsPerChild 1200 </IfModule> - enable mod_ssl and restart apache: $ a2enmod ssl $ service apache2 restart [no further configuration changes requred, i did not configure any ssl hosts, only enabled the module] - verify, that apache is running at least 1001 processes $ ps ax | grep apache | wc -l 1502 - verify you can connect to localhost: $ curl http://localhost/ <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html> - start high load: $ ab -n 5000 -c 1000 http://localhost/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 500 requests apr_poll: The timeout specified has expired (70007) Total of 998 requests completed - ready, now apache is not working properly: $ curl -v http://localhost/ * About to connect() to localhost port 80 (#0) * Trying 127.0.0.1... connected > GET / HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost > Accept: */* > ..... silence There are no errors to find in the logs. After restarting apache it will work for some time, but continue crashing regurally, if you have some traffic coming to the server. In my tests i sometimes had crashes even with very few users connecting to the servers. For greater reproducibility however you will need this high connections number for ab. This is reproducible, happening every time and i also tested this on 3 different machines. This is specific to 12.04, as i have the same setup working properly on 11.10. I'm aware of that 1000 Processes will consume a plenty of ram. The machine that is supposed to run this config has 32GB, so this should not be the problem here. Notice:  - apache crashed only with mod_ssl enabled  - apache crashed only with >1000 processes: 1000 processes runs fine, 1001 will produce a crash Additional information: 1) The release of Ubuntu you are using $ lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 2) The version of the package you are using $ apt-cache policy apache2-mpm-prefork apache2-mpm-prefork:   Installed: 2.2.22-1ubuntu1   Candidate: 2.2.22-1ubuntu1   Version table:  *** 2.2.22-1ubuntu1 0         500 http://de.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages         100 /var/lib/dpkg/status 3) What you expected to happen i expect apache to handle the 5000 requests as usual and continue accepting connections afterwards 4) What happened instead apache handles only 1000 requests and stops accepting new connections at all, which is a disaster for any website running on the host Apache2 stops accepting connections when using mod_ssl and having more than 1000 processes running. This is only happening on ubuntu 12.04 and only with mod_ssl enabled. Steps to reproduce: - take a clean install of ubuntu 12.04 server 64bit (i use english installer and all standard settings) - execute following commands as root: $ apt-get update $ apt-get upgrade $ apt-get install apache2-mpm-prefork - change /etc/apache2/apache2.conf to start at least 1001 processes: <IfModule mpm_prefork_module>     ServerLimit 1500     StartServers 1500     MinSpareServers 1400     MaxSpareServers 1500     MaxClients 1500     MaxRequestsPerChild 1200 </IfModule> - enable mod_ssl and restart apache: $ a2enmod ssl $ service apache2 restart [no further configuration changes requred, i did not configure any ssl hosts, only enabled the module] - verify, that apache is running at least 1001 processes $ ps ax | grep apache | wc -l 1502 - verify you can connect to localhost: $ curl http://localhost/ <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html> - start high load: $ ab -n 5000 -c 1000 http://localhost/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 500 requests apr_poll: The timeout specified has expired (70007) Total of 998 requests completed - ready, now apache is not working properly: $ curl -v http://localhost/ * About to connect() to localhost port 80 (#0) * Trying 127.0.0.1... connected > GET / HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost > Accept: */* > ..... silence There are no errors to find in the logs. After restarting apache it will work for some time, but continue crashing regurally, if you have some traffic coming to the server. In my tests i sometimes had crashes even with very few users connecting to the servers. For greater reproducibility however you will need this high connections number for ab. This is reproducible, happening every time and i also tested this on 3 different machines. This is specific to 12.04, as i have the same setup working properly on 11.10 and 12.10. I'm aware of that 1000 Processes will consume a lot of ram. The machine that is supposed to run this config has 32GB, so this should not be the problem here. Notice:  - apache crashed only with mod_ssl enabled  - apache crashed only with >1000 processes: 1000 processes runs fine, 1001 will produce a crash Additional information: 1) The release of Ubuntu you are using $ lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 2) The version of the package you are using $ apt-cache policy apache2-mpm-prefork apache2-mpm-prefork:   Installed: 2.2.22-1ubuntu1   Candidate: 2.2.22-1ubuntu1   Version table:  *** 2.2.22-1ubuntu1 0         500 http://de.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages         100 /var/lib/dpkg/status 3) What you expected to happen i expect apache to handle the 5000 requests as usual and continue accepting connections afterwards 4) What happened instead apache handles only 1000 requests and stops accepting new connections at all, which is a disaster for any website running on the host
2013-01-29 10:52:42 Etienne CHAMPETIER bug watch added http://issues.apache.org/bugzilla/show_bug.cgi?id=54502