ID:               37120
 Comment by:       spike at indra dot com
 Reported By:      brlcad at mac dot com
 Status:           No Feedback
 Bug Type:         Apache2 related
 Operating System: FreeBSD 5.2.1
 PHP Version:      5.1.2
 New Comment:

I am seeing the same behavor in 4.4.3. I wrote a script to replace
sendmail and confirmed that the data is being written to the pipe, but
that the pipe is not being closed. I then stuck debuging statements in
mail.c and found the it hangs on pclose().  Again, this is only in
apache, not from the command line.

There may be a connection to this FreeBSD bug report:

http://www.freebsd.org/cgi/query-pr.cgi?pr=86421


Previous Comments:
------------------------------------------------------------------------

[2006-08-09 01:00:01] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------

[2006-08-01 22:23:20] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip



------------------------------------------------------------------------

[2006-04-18 23:16:09] brlcad at mac dot com

Not sure how helpful this will be, but here are several 
stack traces while it was hung.  Interestingly enough, 
if I ctrl-c'd in gdb during the hang and continued, the 
page would unhang and return a mail() failure.

(gdb) run -X -f /usr/local/etc/apache2/httpd.conf
(no debugging symbols found)...(no debugging symbols 
found)...(no debugging symbols found)...(no debugging 
symbols found)...(no debugging symbols found)...(no 
debugging symbols found)...(no debugging symbols 
found)...(no debugging symbols found)...
^C
Program received signal SIGINT, Interrupt.
0x283d92af in poll () from /lib/libc.so.5
(gdb) where
#0  0x283d92af in poll () from /lib/libc.so.5
#1  0x2847ba51 in _thread_kern_sched_state_unlock () 
from /usr/lib/libc_r.so.5
#2  0x2847b445 in _thread_kern_scheduler () from /usr/
lib/libc_r.so.5
(gdb) c
Continuing.
[ NOTE: HERE THE PAGE UNHUNG ]
^C
Program received signal SIGINT, Interrupt.
0x283d92af in poll () from /lib/libc.so.5
(gdb) where
#0  0x283d92af in poll () from /lib/libc.so.5
#1  0x2835977e in apr_poll () from /usr/local/lib/
apache2/libapr-0.so.9
#2  0x28359f32 in apr_wait_for_io_or_timeout () from /
usr/local/lib/apache2/libapr-0.so.9
#3  0x2835052a in apr_socket_recv () from /usr/local/
lib/apache2/libapr-0.so.9
#4  0x28350e9d in apr_recv () from /usr/local/lib/
apache2/libapr-0.so.9
#5  0x080705f0 in ap_lingering_close ()
#6  0x080640ab in child_main ()
#7  0x0806417c in make_child ()
#8  0x080642c2 in startup_children ()
#9  0x080646c2 in ap_mpm_run ()
#10 0x0806b7d3 in main ()
#11 0x0805cfd2 in _start ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x283d92af in poll () from /lib/libc.so.5
(gdb) where
#0  0x283d92af in poll () from /lib/libc.so.5
#1  0x2847ba51 in _thread_kern_sched_state_unlock () 
from /usr/lib/libc_r.so.5
#2  0x2847b445 in _thread_kern_scheduler () from /usr/
lib/libc_r.so.5
(gdb) c
Continuing.
[ NOTE: HERE THE PAGE UNHUNG ]
^C
Program received signal SIGINT, Interrupt.
0x283d92af in poll () from /lib/libc.so.5
(gdb) where
#0  0x283d92af in poll () from /lib/libc.so.5
#1  0x2835977e in apr_poll () from /usr/local/lib/
apache2/libapr-0.so.9
#2  0x28359f32 in apr_wait_for_io_or_timeout () from /
usr/local/lib/apache2/libapr-0.so.9
#3  0x2835052a in apr_socket_recv () from /usr/local/
lib/apache2/libapr-0.so.9
#4  0x28350e9d in apr_recv () from /usr/local/lib/
apache2/libapr-0.so.9
#5  0x080705f0 in ap_lingering_close ()
#6  0x080640ab in child_main ()
#7  0x0806417c in make_child ()
#8  0x080642c2 in startup_children ()
#9  0x080646c2 in ap_mpm_run ()
#10 0x0806b7d3 in main ()
#11 0x0805cfd2 in _start ()
(gdb) quit

------------------------------------------------------------------------

[2006-04-18 22:47:43] brlcad at mac dot com

I'll give that a try, though this is on a very heavy 
loaded production machine (hundreds of web hits per 
minute) -- I'll need to wait for the load to settle a 
little, hopefully later tonight.

That said, in the meantime I thought I'd share some more 
insight testing.  I fully replaced sendmail with qmail 
to make sure it wasn't something particular with the 
configuration of sendmail.  Again, the machine has no 
problems sending e-mail on the command line or with mail 
clients, but mod_php5 hangs on the mail() call.  

Curiously enough, before installing qmail if I made the 
clientmqueue dir unreadable so that sendmail reported an 
error/failure, the mail() call does return immediately 
(reporting a failure return code) so the hanging does 
seem to be specific to when the mail 'should' go through 
correctly.

------------------------------------------------------------------------

[2006-04-18 21:30:49] [EMAIL PROTECTED]

Please try to reproduce it with only one Apache process (httpd -X) and
if yes - get a GDB backtrace of the place where it freezes.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/37120

-- 
Edit this bug report at http://bugs.php.net/?id=37120&edit=1

Reply via email to