Bug #52050 [Asn-Fbk]: PHP-FPM Dies after self-initiating reload

2010-06-17 Thread fat
Edit report at http://bugs.php.net/bug.php?id=52050edit=1

 ID:   52050
 Updated by:   f...@php.net
 Reported by:  marcus at adolfsson dot com
 Summary:   PHP-FPM Dies after self-initiating reload
-Status:   Assigned
+Status:   Feedback
 Type: Bug
 Package:  FPM related
 Operating System: fc7
 PHP Version:  5.3.2
 Assigned To:  fat

 New Comment:

I can't reproduce the problem. 



I tried to compile 5.3snap on rhel 5 server with libevent 1.1.14 and I
have no 

problems.



Two questions:

1- does the bug appear when sending a USR2 signal to the master process


(reloading) ?



2- Can you compile the static modules (mysql, pspell, ...) as shared
modules so 

that you will be able to run FPM without any module to check if there is
no bugs 

running a specific module with FPM.


Previous Comments:

[2010-06-14 16:11:13] marcus at adolfsson dot com

Fedora Core 7, libevent-1.4.14-stable


[2010-06-13 13:02:12] f...@php.net

Can you also provide the libevent version and the OS you're using.
Thanks


[2010-06-11 16:27:49] marcus at adolfsson dot com

ldd /usr/sbin/php-fpm

libcrypt.so.1 = /lib64/libcrypt.so.1 (0x003a8300)

libaspell.so.15 = /usr/lib64/libaspell.so.15 (0x003a8600)

libpspell.so.15 = /usr/lib64/libpspell.so.15 (0x003a8640)

librt.so.1 = /lib64/librt.so.1 (0x003a8180)

libmysqlclient.so.15 = /usr/lib64/mysql/libmysqlclient.so.15
(0x0036a360)

libmcrypt.so.4 = /usr/lib64/libmcrypt.so.4 (0x00357ba0)

libfreetype.so.6 = /usr/lib64/libfreetype.so.6 (0x0036a320)

libpng12.so.0 = /usr/lib64/libpng12.so.0 (0x0036a3e0)

libz.so.1 = /usr/lib64/libz.so.1 (0x0035af40)

libjpeg.so.62 = /usr/lib64/libjpeg.so.62 (0x003a8700)

libcurl.so.3 = /usr/lib64/libcurl.so.3 (0x0035af80)

libbz2.so.1 = /usr/lib64/libbz2.so.1 (0x003a8540)

libpcre.so.0 = /lib64/libpcre.so.0 (0x0035b040)

libm.so.6 = /lib64/libm.so.6 (0x003a80c0)

libdl.so.2 = /lib64/libdl.so.2 (0x003a8080)

libevent-1.4.so.1 = /usr/local/lib/libevent-1.4.so.1
(0x2aac3000)

libxml2.so.2 = /usr/lib64/libxml2.so.2 (0x0036a2e0)

libgssapi_krb5.so.2 = /usr/lib64/libgssapi_krb5.so.2
(0x003a8440)

libkrb5.so.3 = /usr/lib64/libkrb5.so.3 (0x003a8340)

libk5crypto.so.3 = /usr/lib64/libk5crypto.so.3 (0x003a83c0)

libcom_err.so.2 = /lib64/libcom_err.so.2 (0x003a8280)

libssl.so.6 = /lib64/libssl.so.6 (0x0035afc0)

libcrypto.so.6 = /lib64/libcrypto.so.6 (0x0035b080)

libresolv.so.2 = /lib64/libresolv.so.2 (0x003a82c0)

libidn.so.11 = /usr/lib64/libidn.so.11 (0x003a8200)

libc.so.6 = /lib64/libc.so.6 (0x003a8040)

libstdc++.so.6 = /usr/lib64/libstdc++.so.6 (0x003a8400)

libgcc_s.so.1 = /lib64/libgcc_s.so.1 (0x003a84c0)

libpthread.so.0 = /lib64/libpthread.so.0 (0x003a8100)

/lib64/ld-linux-x86-64.so.2 (0x003a8000)

libnsl.so.1 = /lib64/libnsl.so.1 (0x003a8240)

libkrb5support.so.0 = /usr/lib64/libkrb5support.so.0
(0x003a8480)


[2010-06-11 16:10:16] tony2...@php.net

Please also show the output of `ldd /path/to/php-fpm`. Thanks.


[2010-06-11 15:36:27] marcus at adolfsson dot com

This is my conf file:



;

; FPM Configuration ;

;





;include=/etc/fpm.d/*.conf



;;

; Global Options ;

;;



[global]

pid = /usr/logs/php-fpm.pid

error_log = /usr/logs/php-fpm.log



; Log level

; Possible Values: alert, error, warning, notice, debug

log_level = notice



; If this number of child processes exit with SIGSEGV or SIGBUS within
the time

; interval set by emergency_restart_interval then FPM will restart. A
value

; of '0' means 'Off'.

; Default Value: 0

emergency_restart_threshold = 10



; Interval of time used by emergency_restart_interval to determine when

; a graceful restart will be initiated.  This can be useful to work
around

; accidental corruptions in an accelerator's shared memory.

; Available Units: s(econds), m(inutes), h(ours), or d(ays)

; Default Unit: seconds

; Default Value: 0

emergency_restart_interval = 1m



; Time limit for child processes to wait for a reaction on signals from
master.

; Available units: s(econds), m(inutes), h(ours), or 

Bug #52050 [Asn-Fbk]: PHP-FPM Dies after self-initiating reload

2010-06-13 Thread fat
Edit report at http://bugs.php.net/bug.php?id=52050edit=1

 ID:   52050
 Updated by:   f...@php.net
 Reported by:  marcus at adolfsson dot com
 Summary:   PHP-FPM Dies after self-initiating reload
-Status:   Assigned
+Status:   Feedback
 Type: Bug
 Package:  FPM related
 Operating System: fc7
 PHP Version:  5.3.2
 Assigned To:  fat

 New Comment:

Can you also provide the libevent version and the OS you're using.
Thanks


Previous Comments:

[2010-06-11 16:27:49] marcus at adolfsson dot com

ldd /usr/sbin/php-fpm

libcrypt.so.1 = /lib64/libcrypt.so.1 (0x003a8300)

libaspell.so.15 = /usr/lib64/libaspell.so.15 (0x003a8600)

libpspell.so.15 = /usr/lib64/libpspell.so.15 (0x003a8640)

librt.so.1 = /lib64/librt.so.1 (0x003a8180)

libmysqlclient.so.15 = /usr/lib64/mysql/libmysqlclient.so.15
(0x0036a360)

libmcrypt.so.4 = /usr/lib64/libmcrypt.so.4 (0x00357ba0)

libfreetype.so.6 = /usr/lib64/libfreetype.so.6 (0x0036a320)

libpng12.so.0 = /usr/lib64/libpng12.so.0 (0x0036a3e0)

libz.so.1 = /usr/lib64/libz.so.1 (0x0035af40)

libjpeg.so.62 = /usr/lib64/libjpeg.so.62 (0x003a8700)

libcurl.so.3 = /usr/lib64/libcurl.so.3 (0x0035af80)

libbz2.so.1 = /usr/lib64/libbz2.so.1 (0x003a8540)

libpcre.so.0 = /lib64/libpcre.so.0 (0x0035b040)

libm.so.6 = /lib64/libm.so.6 (0x003a80c0)

libdl.so.2 = /lib64/libdl.so.2 (0x003a8080)

libevent-1.4.so.1 = /usr/local/lib/libevent-1.4.so.1
(0x2aac3000)

libxml2.so.2 = /usr/lib64/libxml2.so.2 (0x0036a2e0)

libgssapi_krb5.so.2 = /usr/lib64/libgssapi_krb5.so.2
(0x003a8440)

libkrb5.so.3 = /usr/lib64/libkrb5.so.3 (0x003a8340)

libk5crypto.so.3 = /usr/lib64/libk5crypto.so.3 (0x003a83c0)

libcom_err.so.2 = /lib64/libcom_err.so.2 (0x003a8280)

libssl.so.6 = /lib64/libssl.so.6 (0x0035afc0)

libcrypto.so.6 = /lib64/libcrypto.so.6 (0x0035b080)

libresolv.so.2 = /lib64/libresolv.so.2 (0x003a82c0)

libidn.so.11 = /usr/lib64/libidn.so.11 (0x003a8200)

libc.so.6 = /lib64/libc.so.6 (0x003a8040)

libstdc++.so.6 = /usr/lib64/libstdc++.so.6 (0x003a8400)

libgcc_s.so.1 = /lib64/libgcc_s.so.1 (0x003a84c0)

libpthread.so.0 = /lib64/libpthread.so.0 (0x003a8100)

/lib64/ld-linux-x86-64.so.2 (0x003a8000)

libnsl.so.1 = /lib64/libnsl.so.1 (0x003a8240)

libkrb5support.so.0 = /usr/lib64/libkrb5support.so.0
(0x003a8480)


[2010-06-11 16:10:16] tony2...@php.net

Please also show the output of `ldd /path/to/php-fpm`. Thanks.


[2010-06-11 15:36:27] marcus at adolfsson dot com

This is my conf file:



;

; FPM Configuration ;

;





;include=/etc/fpm.d/*.conf



;;

; Global Options ;

;;



[global]

pid = /usr/logs/php-fpm.pid

error_log = /usr/logs/php-fpm.log



; Log level

; Possible Values: alert, error, warning, notice, debug

log_level = notice



; If this number of child processes exit with SIGSEGV or SIGBUS within
the time

; interval set by emergency_restart_interval then FPM will restart. A
value

; of '0' means 'Off'.

; Default Value: 0

emergency_restart_threshold = 10



; Interval of time used by emergency_restart_interval to determine when

; a graceful restart will be initiated.  This can be useful to work
around

; accidental corruptions in an accelerator's shared memory.

; Available Units: s(econds), m(inutes), h(ours), or d(ays)

; Default Unit: seconds

; Default Value: 0

emergency_restart_interval = 1m



; Time limit for child processes to wait for a reaction on signals from
master.

; Available units: s(econds), m(inutes), h(ours), or d(ays)

; Default Unit: seconds

; Default Value: 0

process_control_timeout = 5s



; Send FPM to background. Set to 'no' to keep FPM in foreground for
debugging.

; Default Value: yes

daemonize = yes





; Pool Definitions ;





; Multiple pools of child processes may be started with different
listening

; ports and different management options.  The name of the pool will be

; used in logs and stats. There is no limitation on the number of pools
which

; FPM can handle. Your system will tell you anyway :)



; Start a new pool named 'www'.

[www]



; The address on which to accept FastCGI requests.

; Valid syntaxes are:

;   'ip.add.re.ss:port'- to 

Bug #52050 [Asn-Fbk]: PHP-FPM Dies after self-initiating reload

2010-06-11 Thread tony2001
Edit report at http://bugs.php.net/bug.php?id=52050edit=1

 ID:   52050
 Updated by:   tony2...@php.net
 Reported by:  marcus at adolfsson dot com
 Summary:   PHP-FPM Dies after self-initiating reload
-Status:   Assigned
+Status:   Feedback
 Type: Bug
 Package:  FPM related
 Operating System: fc7
 PHP Version:  5.3.2
 Assigned To:  fat

 New Comment:

Please also show the output of `ldd /path/to/php-fpm`. Thanks.


Previous Comments:

[2010-06-11 15:36:27] marcus at adolfsson dot com

This is my conf file:



;

; FPM Configuration ;

;





;include=/etc/fpm.d/*.conf



;;

; Global Options ;

;;



[global]

pid = /usr/logs/php-fpm.pid

error_log = /usr/logs/php-fpm.log



; Log level

; Possible Values: alert, error, warning, notice, debug

log_level = notice



; If this number of child processes exit with SIGSEGV or SIGBUS within
the time

; interval set by emergency_restart_interval then FPM will restart. A
value

; of '0' means 'Off'.

; Default Value: 0

emergency_restart_threshold = 10



; Interval of time used by emergency_restart_interval to determine when

; a graceful restart will be initiated.  This can be useful to work
around

; accidental corruptions in an accelerator's shared memory.

; Available Units: s(econds), m(inutes), h(ours), or d(ays)

; Default Unit: seconds

; Default Value: 0

emergency_restart_interval = 1m



; Time limit for child processes to wait for a reaction on signals from
master.

; Available units: s(econds), m(inutes), h(ours), or d(ays)

; Default Unit: seconds

; Default Value: 0

process_control_timeout = 5s



; Send FPM to background. Set to 'no' to keep FPM in foreground for
debugging.

; Default Value: yes

daemonize = yes





; Pool Definitions ;





; Multiple pools of child processes may be started with different
listening

; ports and different management options.  The name of the pool will be

; used in logs and stats. There is no limitation on the number of pools
which

; FPM can handle. Your system will tell you anyway :)



; Start a new pool named 'www'.

[www]



; The address on which to accept FastCGI requests.

; Valid syntaxes are:

;   'ip.add.re.ss:port'- to listen on a TCP socket to a specific
address on

;a specific port;

;   'port' - to listen on a TCP socket to all addresses
on a

;specific port;

;   '/path/to/unix/socket' - to listen on a unix socket.

; Note: This value is mandatory.

listen = 127.0.0.1:9000



; Set listen(2) backlog. A value of '-1' means unlimited.

; Default Value: -1

listen.backlog = -1

 

; List of ipv4 addresses of FastCGI clients which are allowed to
connect.

; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the
original

; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each
address

; must be separated by a comma. If this value is left blank, connections
will be

; accepted from any ip address.

; Default Value: any

;listen.allowed_clients = 127.0.0.1



; Set permissions for unix socket, if one is used. In Linux, read/write

; permissions must be set in order to allow connections from a web
server. Many

; BSD-derived systems allow connections regardless of permissions.

; Default Values: user and group are set as the running user

; mode is set to 0666

;listen.owner = nobody

;listen.group = nobody

;listen.mode = 0666



; Unix user/group of processes

; Note: The user is mandatory. If the group is not set, the default
user's group

;   will be used.

user = phpfm

group = phpfm



; Choose how the process manager will control the number of child
processes.

; Possible Values:

;   static  - a fixed number (pm.max_children) of child processes;

;   dynamic - the number of child processes are set dynamically based on
the

; following directives:

; pm.max_children  - the maximum number of children that
can

;be alive at the same time.

; pm.start_servers - the number of children created on
startup.

; pm.min_spare_servers - the minimum number of children in
'idle'

;state (waiting to process). If the
number

;of 'idle' processes is less than
this

;number then some children will be
created.

; pm.max_spare_servers - the maximum number of children in
'idle'

;state (waiting to process). If the
number

;of 'idle' processes is greater than
this

;number then some children will be
killed.

; Note: This value