Bug 54546 - httpd crashes on first HUP after change Listen directory in config
Summary: httpd crashes on first HUP after change Listen directory in config
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.5-HEAD
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-11 09:42 UTC by ikonta
Modified: 2013-02-11 09:56 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ikonta 2013-02-11 09:42:19 UTC
/var/log/apache/error_log on debug loglevel (normal start):
[Mon Feb 11 13:08:31 2013] [notice] caught SIGTERM, shutting down
[Mon Feb 11 13:08:31 2013] [info] Init: Seeding PRNG with 144 bytes of entropy
[Mon Feb 11 13:08:31 2013] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Feb 11 13:08:31 2013] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Mon Feb 11 13:08:31 2013] [info] Init: Initializing (virtual) servers for SSL
[Mon Feb 11 13:08:31 2013] [info] mod_ssl/2.2.23 compiled against Server: Apache/2.2.23, Library: OpenSSL/1.0.1c
[Mon Feb 11 13:08:31 2013] [info] mod_unique_id: using ip addr 192.168.1.1
[Mon Feb 11 13:08:32 2013] [info] Init: Seeding PRNG with 144 bytes of entropy
[Mon Feb 11 13:08:32 2013] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Feb 11 13:08:32 2013] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of shared memory
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(272): for 511920 bytes (512000 including header), recommending 32 subcaches, 133 indexes each
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(306): shmcb_init_memory choices follow
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(308): subcache_num = 32
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(310): subcache_size = 15992
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(312): subcache_data_offset = 3208
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(314): subcache_data_size = 12784
[Mon Feb 11 13:08:32 2013] [debug] ssl_scache_shmcb.c(316): index_num = 133
[Mon Feb 11 13:08:32 2013] [info] Shared memory session cache initialised
[Mon Feb 11 13:08:32 2013] [info] Init: Initializing (virtual) servers for SSL
[Mon Feb 11 13:08:32 2013] [info] mod_ssl/2.2.23 compiled against Server: Apache/2.2.23, Library: OpenSSL/1.0.1c
[Mon Feb 11 13:08:32 2013] [info] mod_unique_id: using ip addr 192.168.1.1
[Mon Feb 11 13:08:33 2013] [notice] Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.1c PHP/5.4.8--pl0-gentoo configured -- resuming normal operations
[Mon Feb 11 13:08:33 2013] [info] Server built: Feb  8 2013 10:05:00
[Mon Feb 11 13:08:33 2013] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem)

# vim /etc/apache2/vhosts.d/00_default_vhost.conf
(now change Listen directory value from
Listen 80
to
Listen 192.168.1.1:80)

# cat /var/run/apache2.pid 
19605
# kill -HUP 19605
# /etc/init.d/apache2 status
 * status: crashed

Event in log:
[Mon Feb 11 13:10:31 2013] [notice] SIGHUP received.  Attempting to restart
(98)Address already in use: make_sock: could not bind to address 192.168.1.1:80
no listening sockets available, shutting down
Unable to open logs

# /etc/init.d/apache2 restart
 * Stopping apache2 ...
httpd (pid 19605?) not running                                                                                                   [ ok ]
 * Starting apache2 ...                                                                                                          [ ok ]


/var/log/apache/error_log on debug loglevel (start after crash):
[Mon Feb 11 13:11:44 2013] [info] Init: Seeding PRNG with 144 bytes of entropy
[Mon Feb 11 13:11:44 2013] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Feb 11 13:11:45 2013] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Mon Feb 11 13:11:45 2013] [info] Init: Initializing (virtual) servers for SSL
[Mon Feb 11 13:11:45 2013] [info] mod_ssl/2.2.23 compiled against Server: Apache/2.2.23, Library: OpenSSL/1.0.1c
[Mon Feb 11 13:11:45 2013] [info] mod_unique_id: using ip addr 192.168.1.1
[Mon Feb 11 13:11:46 2013] [info] Init: Seeding PRNG with 144 bytes of entropy
[Mon Feb 11 13:11:46 2013] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Feb 11 13:11:46 2013] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of shared memory
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(272): for 511920 bytes (512000 including header), recommending 32 subcaches, 133 indexes each
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(306): shmcb_init_memory choices follow
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(308): subcache_num = 32
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(310): subcache_size = 15992
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(312): subcache_data_offset = 3208
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(314): subcache_data_size = 12784
[Mon Feb 11 13:11:46 2013] [debug] ssl_scache_shmcb.c(316): index_num = 133
[Mon Feb 11 13:11:46 2013] [info] Shared memory session cache initialised
[Mon Feb 11 13:11:46 2013] [info] Init: Initializing (virtual) servers for SSL
[Mon Feb 11 13:11:46 2013] [info] mod_ssl/2.2.23 compiled against Server: Apache/2.2.23, Library: OpenSSL/1.0.1c
[Mon Feb 11 13:11:46 2013] [info] mod_unique_id: using ip addr 192.168.1.1
[Mon Feb 11 13:11:47 2013] [warn] pid file /var/run/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Mon Feb 11 13:11:47 2013] [notice] Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.1c PHP/5.4.8--pl0-gentoo configured -- resuming normal operations
[Mon Feb 11 13:11:47 2013] [info] Server built: Feb  8 2013 10:05:00
[Mon Feb 11 13:11:47 2013] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem)

Received later (Listen directory in config is unchanged) HUP signals are hanled correctly, as expected.

Checked on www-servers/apache-2.2.23 on Gentoo GNU/Linux, but issue also seems to be reproducable on FreeBSD (at least 7.x branch).
Comment 1 ikonta 2013-02-11 09:56:08 UTC
I've forgot, to tell, that restart using init script (i.e. /etc/init.d/apache2 restart) works fine both on first and latest restarts of daemon.