[PHP-DEV] Re: PHP 4.0 Bug #8885 Updated: Child processes hang on exit

2001-03-12 Thread Nick Wood

Nope, we actually traced it down to freetype built into gd/php...  As it
stands, we're just living without freetype...

Nick
ProHosting

At 02:43 AM 3/10/2001 +, you wrote:
ID: 8885
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Feedback
Bug Type: Reproduceable crash
Assigned To: 
Comments:

Does upgrading mod_ssl  openssl help?

--Jani


Previous Comments:
---

[2001-01-27 15:41:07] [EMAIL PROTECTED]
More info...  If I don't compile ttf into gd, it doesn't crash...

---

[2001-01-24 10:54:07] [EMAIL PROTECTED]
Child (or the main) processes hang whenever they try to exit.

This will happen when
maxrequestsperchild is reached (I'm assuming) and a child tries to die
naturally
a child process is killed manually
the main process can't bind to port/etc

Here's a ps to see what it looks like

USER   PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED   TIME COMMAND
www443   14066  5.6  0.3  6220  988  ??  R 8:00AM0:06.52
/var/www443/bin/httpd
www443   14067  5.3  0.3  6216 1000  ??  R 8:00AM0:07.20
/var/www443/bin/httpd
www443   14063  5.4  0.3  6220 1000  ??  R 8:00AM0:07.17
/var/www443/bin/httpd
www443   14065  5.4  0.3  6212  980  ??  R 8:00AM0:06.63
/var/www443/bin/httpd
www443   14064  5.5  0.3  6216 1004  ??  R 8:00AM0:07.57
/var/www443/bin/httpd
www443   19823  5.9  0.2  6032  608  ??  R 8:26AM9:31.91
/var/www443/bin/httpd
root 14027  0.0  0.1  6032  404  ??  Ss8:00AM0:00.18
/var/www443/bin/httpd
www443   14322  0.0  0.2  6208  724  ??  S 8:01AM0:00.22
/var/www443/bin/httpd
www443   14346  0.0  0.2  6208  736  ??  S 8:01AM0:00.23
/var/www443/bin/httpd
www443   19726  0.0  0.2  6212  744  ??  S 8:25AM0:00.17
/var/www443/bin/httpd
www443   19732  0.0  0.2  6212  732  ??  S 8:25AM0:00.14
/var/www443/bin/httpd
www443   19733  0.0  0.2  6212  724  ??  S 8:25AM0:00.09
/var/www443/bin/httpd

as you can see, the top 5 processes are hung.  A sigkill is the only way
to kill them.

Attaching to one of the hung processes with gdb gives the backtrace listed
at the
bottom of this report.


We can only produce this problem with the following configuration:

(Apache 1.3.12 or 1.3.14)
./configure --prefix=$prefix --with-port=$port --enable-module=most 
 --enable-module=rewrite --enable-module=status --with-layout=Apache 
 --sysconfdir=$prefix/conf --enable-module=so

(mod_ssl 2.6.5-1.3.12 or x.x.x-1.3.14)
./configure --with-apache=../apache_1.3.12 --prefix=/var/www443
--with-ssl=/usr/local/ssl

(php 4.0.1 - 4.0.4pl1)
./configure  --with-mysql --with-xml --with-gd=/usr/local 
 --with-apxs=/var/www443/bin/apxs --enable-track-vars --enable-bcmath 
 --enable-ftp --with-jpeg-dir=/usr/local/lib --with-ttf

If we leave out PHP or mod_ssl, the problem goes away.
Also, with older versions of BSDi, this problem does not occure. (using
the same configuration as above)




Attaching to program `/var/www443/bin/httpd', process 19823
Reading symbols from /shlib/libdl.so...done.
Reading symbols from /shlib/libgcc.so.1...done.
Reading symbols from /shlib/libc.so.1...done.
Reading symbols from /shlib/ld-bsdi.so...done.
Reading symbols from /var/www443/libexec/libphp4.so...done.
Reading symbols from /usr/local/lib/libttf.so.2...done.
Reading symbols from /shlib/libm.so.0.0...done.
0x481a5a54 in __deregister_frame_info ()
(gdb) bt
#0  0x481a5a54 in __deregister_frame_info ()
#1  0x8069e7a in __do_global_dtors_aux ()
#2  0x8163fa4 in _fini ()
#3  0x48248028 in exit ()
#4  0x80c3e1f in clean_child_exit (code=0) at http_main.c:517
#5  0x80c6ac2 in child_main (child_num_arg=10) at http_main.c:4057
#6  0x80c6f8c in make_child (s=0x81ad034, slot=10, now=980349966) at
http_main.c:4435
#7  0x80c7305 in perform_idle_server_maintenance () at http_main.c:4599
#8  0x80c77f5 in standalone_main (argc=1, argv=0x8047ec4) at http_main.c:4831
#9  0x80c7dc3 in main (argc=1, argv=0x8047ec4) at http_main.c:5092
#10 0x8069e37 in __start ()
(gdb) quit


# /var/www443/bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_vhost_alias.c
  mod_env.c
  mod_define.c
  mod_log_config.c
  mod_mime_magic.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_info.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_access.c
  mod_auth.c
  mod_auth_anon.c
  mod_auth_dbm.c
  mod_digest.c
  mod_proxy.c
  mod_cern_meta.c
  mod_expires.c
  mod_headers.c
  mod_usertrack.c
  mod_unique_id.c
  mod_so.c
  mod_setenvif.c
  mod_ssl.c
  mod_frontpage.c

---



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=8885edit=2
 


-- 
PHP Development Mailing 

[PHP-DEV] Re: PHP 4.0 Bug #8885 Updated: Child processes hang on exit

2001-03-12 Thread Nick Wood

Nope, we actually traced it down to freetype built into gd/php...  As it
stands, we're just living without freetype...

Nick
ProHosting

At 02:43 AM 3/10/2001 +, you wrote:
ID: 8885
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Feedback
Bug Type: Reproduceable crash
Assigned To: 
Comments:

Does upgrading mod_ssl  openssl help?

--Jani


Previous Comments:
---

[2001-01-27 15:41:07] [EMAIL PROTECTED]
More info...  If I don't compile ttf into gd, it doesn't crash...

---

[2001-01-24 10:54:07] [EMAIL PROTECTED]
Child (or the main) processes hang whenever they try to exit.

This will happen when
maxrequestsperchild is reached (I'm assuming) and a child tries to die
naturally
a child process is killed manually
the main process can't bind to port/etc

Here's a ps to see what it looks like

USER   PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED   TIME COMMAND
www443   14066  5.6  0.3  6220  988  ??  R 8:00AM0:06.52
/var/www443/bin/httpd
www443   14067  5.3  0.3  6216 1000  ??  R 8:00AM0:07.20
/var/www443/bin/httpd
www443   14063  5.4  0.3  6220 1000  ??  R 8:00AM0:07.17
/var/www443/bin/httpd
www443   14065  5.4  0.3  6212  980  ??  R 8:00AM0:06.63
/var/www443/bin/httpd
www443   14064  5.5  0.3  6216 1004  ??  R 8:00AM0:07.57
/var/www443/bin/httpd
www443   19823  5.9  0.2  6032  608  ??  R 8:26AM9:31.91
/var/www443/bin/httpd
root 14027  0.0  0.1  6032  404  ??  Ss8:00AM0:00.18
/var/www443/bin/httpd
www443   14322  0.0  0.2  6208  724  ??  S 8:01AM0:00.22
/var/www443/bin/httpd
www443   14346  0.0  0.2  6208  736  ??  S 8:01AM0:00.23
/var/www443/bin/httpd
www443   19726  0.0  0.2  6212  744  ??  S 8:25AM0:00.17
/var/www443/bin/httpd
www443   19732  0.0  0.2  6212  732  ??  S 8:25AM0:00.14
/var/www443/bin/httpd
www443   19733  0.0  0.2  6212  724  ??  S 8:25AM0:00.09
/var/www443/bin/httpd

as you can see, the top 5 processes are hung.  A sigkill is the only way
to kill them.

Attaching to one of the hung processes with gdb gives the backtrace listed
at the
bottom of this report.


We can only produce this problem with the following configuration:

(Apache 1.3.12 or 1.3.14)
./configure --prefix=$prefix --with-port=$port --enable-module=most 
 --enable-module=rewrite --enable-module=status --with-layout=Apache 
 --sysconfdir=$prefix/conf --enable-module=so

(mod_ssl 2.6.5-1.3.12 or x.x.x-1.3.14)
./configure --with-apache=../apache_1.3.12 --prefix=/var/www443
--with-ssl=/usr/local/ssl

(php 4.0.1 - 4.0.4pl1)
./configure  --with-mysql --with-xml --with-gd=/usr/local 
 --with-apxs=/var/www443/bin/apxs --enable-track-vars --enable-bcmath 
 --enable-ftp --with-jpeg-dir=/usr/local/lib --with-ttf

If we leave out PHP or mod_ssl, the problem goes away.
Also, with older versions of BSDi, this problem does not occure. (using
the same configuration as above)




Attaching to program `/var/www443/bin/httpd', process 19823
Reading symbols from /shlib/libdl.so...done.
Reading symbols from /shlib/libgcc.so.1...done.
Reading symbols from /shlib/libc.so.1...done.
Reading symbols from /shlib/ld-bsdi.so...done.
Reading symbols from /var/www443/libexec/libphp4.so...done.
Reading symbols from /usr/local/lib/libttf.so.2...done.
Reading symbols from /shlib/libm.so.0.0...done.
0x481a5a54 in __deregister_frame_info ()
(gdb) bt
#0  0x481a5a54 in __deregister_frame_info ()
#1  0x8069e7a in __do_global_dtors_aux ()
#2  0x8163fa4 in _fini ()
#3  0x48248028 in exit ()
#4  0x80c3e1f in clean_child_exit (code=0) at http_main.c:517
#5  0x80c6ac2 in child_main (child_num_arg=10) at http_main.c:4057
#6  0x80c6f8c in make_child (s=0x81ad034, slot=10, now=980349966) at
http_main.c:4435
#7  0x80c7305 in perform_idle_server_maintenance () at http_main.c:4599
#8  0x80c77f5 in standalone_main (argc=1, argv=0x8047ec4) at http_main.c:4831
#9  0x80c7dc3 in main (argc=1, argv=0x8047ec4) at http_main.c:5092
#10 0x8069e37 in __start ()
(gdb) quit


# /var/www443/bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_vhost_alias.c
  mod_env.c
  mod_define.c
  mod_log_config.c
  mod_mime_magic.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_info.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_access.c
  mod_auth.c
  mod_auth_anon.c
  mod_auth_dbm.c
  mod_digest.c
  mod_proxy.c
  mod_cern_meta.c
  mod_expires.c
  mod_headers.c
  mod_usertrack.c
  mod_unique_id.c
  mod_so.c
  mod_setenvif.c
  mod_ssl.c
  mod_frontpage.c

---



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=8885edit=2
 


-- 
PHP Development Mailing